我正在尝试在执行 jbpm6 进程时实现故障转移策略。我的设置如下:
- 我正在使用启用了持久性的 jbpm6.2.0-Final(最新的稳定版本)
- 我正在构造
org.kie.spring.factorybeans.RuntimeManagerFactoryBean
的实例,类型为SINGLETON
以启动/中止KSession
流程和完成/中止工作项目 - 所有 bean 都由 Spring 3.2 连接
- 使用 DB2 作为数据库引擎
- 我使用 Tomcat 7.0.27
在积极的情况下,一切都按我预期的那样进行。但我想知道在服务器崩溃的情况下如何恢复进程。为了重现它,我启动了我的进程(描述为 BPMN2 文件),在中间的某个步骤中终止了 Tomcat 进程。之后,我在 PROCESS_INSTANCE_INFO 表中看到未完成的流程实例,在 WORK_ITEM_INFO 表中看到未完成的工作项。 SESSION_INFO 表中也有一个 session 。
我的问题是:您能否向我展示代码示例,它会执行剩余的过程并从最后一个节点开始恢复它(如果可能的话)。
更新 我忘了说我没有使用 jbpm-console,而是将 jbpm 嵌入到我的 javaee 应用程序中。
最佳答案
如果您在应用程序服务器初始化时初始化 RuntimeManager,它应该负责重新加载和恢复进程。 您无需担心自己重新加载它。
关于java - JBPM6 : How to resume a process from the last successful node after the server crash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29394379/