【问题标题】:Spring Web Flow 2 end stateSpring Web Flow 2 结束状态
【发布时间】:2013-01-10 21:53:53
【问题描述】:

我有一个简单的问题。我正在开发一个带有几个选项卡的简单应用程序。应用程序使用很少的外部服务来查询数据并显示它以获得更好的数据挖掘体验。另外我决定结合 Spring Web-Flow 主要是为了在这个主题上做一些学习。

通过浏览网络流的规范,它们显示了明确定义的逻辑视图状态和转换以及其他逐渐朝着某种不可避免的最终状态工作的东西。现在每个州都有自己的范围,我真的很喜欢。您可以放置​​信息并在状态甚至其他流之间来回传递信息,但令我惊讶的是我的应用程序仅用于浏览。除非用户在消化他正在寻找的内容或感到无聊时关闭浏览器或关闭选项卡,否则我没有明确的最终状态。 DTO 的所有实例和我放入流范围的其他内容会发生什么情况?

根据http://static.springsource.org/spring-webflow/docs/pr5/api/org/springframework/webflow/EndState.html 这个 API 规范,结束状态会终止流程并破坏它的会话,我认为这会破坏所有填充数据的范围,所以我担心我可能有内存泄漏。还是 webflow 会话有一些超时和有条件的内存管理,最终落到垃圾收集器的手中?

有人可以支持我吗?

问候,

【问题讨论】:

    标签: spring spring-webflow-2


    【解决方案1】:

    您有可以覆盖的默认设置:

    <webflow:flow-execution-repository max-executions="5" max-execution-snapshots="10" />
    

    这些将防止您发生任何内存泄漏。旧的执行和快照将被删除。

    【讨论】:

    • 也就是说,这些限制了单个用户一次可以活动的并发“流”的数量。如果某些多选项卡单击或分叉“子路径”需要新的执行或快照,则最旧的将被删除。如果您然后尝试重新访问/重用其中之一,您将收到错误或被重定向以开始新的。 (我认为我们必须实现一些自定义的东西,这样用户就不会看到底层的 SWF 错误。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    相关资源
    最近更新 更多