从数据库还原处理实例。 JBPM6

时间:2014-10-01 14:30:52

标签: database jboss persistence drools jbpm

我成功地将jbpm连接到我的数据库(PostgreSQL)并将日志存储到其中。我是这样做的:

KieServices ks = KieServices.Factory.get();  
KieContainer kContainer = ks.getKieClasspathContainer();  
KieSession kSession = kContainer.newKieSession("WorkflowSession");  
EntityManagerFactory emf = new EnvironmentProducer().getEntityManagerFactory();  
AbstractAuditLogger auditLogger = AuditLoggerFactory.newJPAInstance(emf);  
kSession.addEventListener(auditLogger);  

我想在服务器崩溃后恢复所有活动进程。例如:

  1. 开始方案(开始流程)
  2. 服务器崩溃(进程在数据库中注册为活动状态)
  3. 再次打开服务器后,将此进程加载到我的新KieSession
  4. 请帮我解决这个问题。

    由于

1 个答案:

答案 0 :(得分:0)

服务器关闭后无需重新加载流程实例。流程实例始终存储在数据库中,只要需要它们,就会从那里加载它们。这包括与流程实例相关的用户请求(例如,已完成的任务,发送的信号),以及定时器触发等。

如果您自己嵌入引擎,应该尝试在应用程序初始化时尝试做的唯一事情是确保实例化运行时管理器(用于跟踪计时器)。如果您使用执行服务器(jbpm-console的一部分),它将自动为您执行此操作。