2015-02-10 59 views
0

我已經實現了一個自定義workitemhandler,我只想通過外部REST調用來完成。因此,項目executeWorkItem()方法不會在最後調用manager.completeWorkItem(workItem.getId(), results);,這非常合適。我還在我的流程中爲此工作項分配了一個信號事件,該事件也由外部REST調用調用。這兩件事情都按預期工作,但我不明白的是,每次發出工作項目信號時,它都會自動完成工作項目,這會導致過程與其常規路徑和發出信號的過程相連續的問題。但是信號的原因是中斷過程只遵循信號路徑路徑。jBPM信號事件總是完成工作項目

過程映像可以在這裏找到http://cl.ly/image/0F3L3E2w2l0j。在這個例子中,我發出了「失敗轉移」的信號,但其餘的部分也被執行,甚至沒有任何東西完成了工作項目。

我正在使用jBPM 6.1 Final。

在此先感謝您的幫助。

+0

信號屬性「CancelActivity」也設置爲true。如果信號被調用,這個標誌不會告訴引擎取消該活動嗎? – Florian 2015-02-10 11:51:18

回答

0

沒關係,我找到了這種行爲的原因。自定義工作項處理程序實現

public void abortWorkItem(WorkItem workItem, WorkItemManager manager) { 
     manager.abortWorkItem(workItem.getId()); 
    } 

去除manager.abortWorkItem(workItem.getId());,過程表現爲預期後。

相關問題