【问题标题】:Restore processes instances from database. JBPM6从数据库中恢复进程实例。 JBPM6
【发布时间】:2014-10-01 14:30:52
【问题描述】:

我成功地将 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

请帮我解决这个问题。

谢谢

【问题讨论】:

    标签: database jboss persistence drools jbpm


    【解决方案1】:

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

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

    【讨论】:

    • Kris,你能展示一下这个执行服务器的例子吗?非常感谢带有代码的示例!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多