2011-02-19 67 views
1

我一直在玩与我下载的书Drools JBoss Rules 5.0一起使用的示例。为了我的安慰他们工作:) Drools Flow一直是我的兴趣点,因为它可能是工作流引擎的替代品。因为我试图把我的头围绕东西,我一直在想如何重新启动rulesflow过程的过早死亡?我的意思是说一个进程如预期那样从一个节点跳转到另一个节点,然后包含进程由于崩溃,重启等而死亡。规则流过程的当前节点/位置是否保留,是否可以在系统重新启动时从此点继续?如果是这样如何?在系统崩溃/重新启动后继续进程 - Drools Flow

我工作的组织是以Java EE为中心的,JBoss是我们最喜欢的应用程序服务器。我看到了Drools利用Spring的持久性和bean查找支持的例子。

有没有与JBoss一样的例子?

回答

2

如果您在数据库中保留流程实例和任务的状态。即使虚拟机停机并重新启动,您也可以检索流程实例。

使用

创建会话

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

要与会话ID载入会议。

ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(sessionId, kbase,

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

http://dl.dropbox.com/u/2634115/drools-test.zip

的例子是使用BTM用H 2数据库,它也与MySQL连接器的Java-5.1.13与BTM工作得很好。请注意,完成的过程将自动从数据库中删除。

+0

另请参阅http://downloads.jboss.com/drools/docs/5.1.1.34858.FINAL/drools-introduction/html_single/index.html#d0e330 –

0

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

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

我意识到我没有通过JBoss给出这个例子;但是给出一个关于你正在寻找什么的背景可以让你更深入地了解未来的发展方向。

相关问题