2016-09-25 26 views
-1

我對Activiti來說很新奇。我有一個具體的問題,假設我有2個在2個實例上運行的ativiti引擎,並且都共享公共存儲庫。目前如果我在實例A上啓動任何任務,並由於Activiti的默認屬性而使其突然中斷,則它由B選擇,這恰好不會發生,因爲兩個實例有不同版本的軟件正在運行。我需要下面的行爲 「只有在我們暫停它的情況下,才能通過活動A完成在實例A上開始的作業」。有可能嗎?Activiti集羣

非常感謝提前!

回答

0

Activiti的默認行爲是在實例A上創建的作業也將由實例A處理。只有在需要重試作業的情況下,實例B纔有可能處理作業。爲了確保在實例A上創建的作業將始終由實例A處理,您需要擴展默認作業執行程序並設置其他作業處理程序配置值。在執行作業之前,您可以檢查此配置值以驗證作業是否已在實例A上創建。

請注意,當您覆蓋默認作業執行程序時,如果實例A處於關閉狀態,則實例A的作業將不再被執行。也許對於你的用例來說,使用單獨的Activiti數據庫更有意義?

+0

謝謝,Tijs的及時回覆! 我可以獲得一些參考/示例來擴展默認作業執行程序以設置其他作業處理程序配置值嗎? 我實際上正在考慮使用單獨的Activiti數據庫的這個方向。 –