2014-10-01 25 views
0

我成功將jbpm連接到我的數據庫(PostgreSQL),並將日誌存儲到它。我做到了:從數據庫還原流程實例。 JBPM6

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

請幫我解決這個問題。

感謝

回答

0

有沒有需要服務器關機後重新加載流程實例。流程實例始終存儲在數據庫中,只要需要,它們就從那裏加載。這包括與流程實例相關的用戶請求(例如完成的任務,發送的信號),以及定時器觸發等。

您自己嵌入引擎時應該嘗試對應用程序進行初始化時嘗試執行的操作是確保運行時管理器被實例化(用於跟蹤定時器)。如果你使用執行服務器(jbpm-console的一部分),它會自動爲你做。

+0

克里斯,你能展示這個執行服務器的例子嗎?代碼示例非常感謝! – Oleg 2015-03-31 12:59:01