在Spring WebFlow中,我该如何恢复流程?

时间:2011-07-14 14:40:09

标签: spring spring-webflow

使用Spring Webflow的2.2.1版,我试图在流程的中间恢复流程执行。

例如,如果我有4个步骤; A B C D。用户可以启动流程(步骤A),并且在某些步骤(步骤C)之后,他会分心并放弃页面。当该用户返回流程时,我希望流程从用户离开的地方开始继续执行(步骤C)。我将如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

对于那些对我最终如何做到这一点感到好奇的人。我将FlowUrlHandler映射到我的实现并覆盖了createFlowExecutionUrl(String flowId, String flowExecutionKey, HttpServletRequest request)方法。

<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter">
    <property name="flowExecutor" ref="flowExecutor" />
    <property name="flowUrlHandler">
       <bean class="path.to.my.implementation"/>
    </property>
  </bean>

答案 1 :(得分:0)

这将自动发生,假设用户的会话未超时。默认情况下,SWF在HTTP会话中存储流状态。您应该可以离开您的流程(通过键入不同的URL),然后返回到它(使用后退按钮或直接键入URL,只要您包含正确的流程执行密钥)