Drools 系统崩溃/重新启动后进程的继续-降低流量

Drools 系统崩溃/重新启动后进程的继续-降低流量,drools,Drools,我一直在玩用Drools JBoss Rules 5.0这本书下载的示例。让我松了一口气的是:)Drools Flow已经成为我感兴趣的一个可能的工作流引擎替代品 当我试图将我的头脑集中在一些事情上时,我一直在想,规则流进程的过早死亡是如何重新启动的?我的意思是说一个进程像预期的那样从一个节点跳转到另一个节点,然后包含的进程由于崩溃、重启或其他原因而死亡。ruleflow流程的当前节点/位置是否保留,是否可以在系统重新启动时从该点继续?如果是,怎么做 我所在的团队非常以JavaEE为中心,JBo

我一直在玩用Drools JBoss Rules 5.0这本书下载的示例。让我松了一口气的是:)Drools Flow已经成为我感兴趣的一个可能的工作流引擎替代品

当我试图将我的头脑集中在一些事情上时,我一直在想,规则流进程的过早死亡是如何重新启动的?我的意思是说一个进程像预期的那样从一个节点跳转到另一个节点,然后包含的进程由于崩溃、重启或其他原因而死亡。ruleflow流程的当前节点/位置是否保留,是否可以在系统重新启动时从该点继续?如果是,怎么做

我所在的团队非常以JavaEE为中心,JBoss是我们最喜欢的应用服务器。我看到了Drools利用Spring的持久性和bean查找支持的例子


JBoss也有这样做的例子吗?

您看到的是基本概念。在所谓的强迁移过程中,可以在一台机器上停止进程,并将进程的整个状态迁移到另一台机器(包括程序计数器和所有现有堆栈)。在您认为这是完全疯狂之前,请从JVM的角度考虑这一点。由于您的应用程序已经在虚拟硬件中运行;停止应用程序并将其恢复到停止的位置并不困难,因为它是完全虚拟化的

如果你想再举一个例子,看看;整个机器可以暂停并迁移到另一台机器,然后重新启动。这是非常有趣的东西,通常主要与分布式计算有关,在分布式计算中,可能有数百个代理需要从一台机器迁移到另一台机器,因为有些代理需要进行维护


我意识到我没有通过JBoss给出这样的例子;但是,如果您将流程实例和任务的状态持久化到数据库中,那么给出您要查找的具体内容的背景信息可以让您更好地了解未来要查找的内容。

。即使VM关闭并再次重新启动,您也可以检索流程实例

使用

创建会话

ksession=jpakknowledgeservice.newStatefulKnowledgeSession(kbase,null,env)

使用会话id加载会话。

ksession=jpakknowledgeservice.loadStatefulKnowledgeSession(sessionId,kbase,

您只需要知道会话id。会话信息将存储在SessionInfo表中。下载下面的示例项目

该示例将Btm与H2数据库一起使用,它也可以与mysql-connector-java-5.1.13与Btm一起使用。请注意,完成的过程将自动从数据库中删除。

另请参见