2011-02-19 68 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給出這個例子;但是給出一個關於你正在尋找什麼的背景可以讓你更深入地瞭解未來的發展方向。

相關問題