如何为不同的流定义多个流执行程序并禁用某些流的连续快照?

时间:2012-08-03 13:42:00

标签: spring-webflow continuations

我正在开展一个庞大的项目,我们希望对某些流程有不同的延续管理。

我们希望能够在大多数流程中使用延续快照(允许使用后退按钮的快照)但我们还希望能够完全禁用某些使用大量数据流的连续快照记忆,我们不想序列化。

有可能吗?怎么样?

非常感谢。

1 个答案:

答案 0 :(得分:1)

我没有尝试过任何这方面的重要警告。但是,这是一种潜在的方法。

首先,您需要自己实施FlowExecutionSnapshotFactory。这将允许您管理快照的创建和恢复。您可能希望包装SerializedFlowExecutionSnapshotFactory,但仅允许在某些情况下创建快照。更好的是,您可能希望允许创建快照,但是要省略其中的一些数据。

现在问题是让Webflow使用新的SnapshotFactory。工厂在FlowExecutorFactoryBean.createFlowExecutionSnapshotFactory()中创建。所以你需要创建它。您可以在FlowExecutorFactoryBean文件中指定自己的application-context.xml。有关如何在http://forum.springsource.org/showthread.php?54714-SWF-2-0-Backtracking-and-exception-catching处执行此操作的说明 - 向下滚动至底部的angrysoul帖子。

现在只是需要确保提供自己的FlowExecutorImpl实例,其中包含您自己的快照工厂。