2016-10-29 11 views
0

タスクが完了したら、いくつかのコードを実行する必要があります。 特定のタスクの完了時にリスナーを追加する方法を見つけましたが、どのタスクにもリスナーを追加する方法は見つかりませんでした 助けてください?このため、イベントリスナーを使用することができますActivitiでCamunda/Activitiタスク完了時のリスナー

答えて

1

http://www.activiti.org/userguide/#_hooking_into_process_parsingは、コミュニティの拡張子camunda-bpm-reactorを見てください。 リスナーをすべてのbpmnアクティビティーに手動で追加することなく、イベントに登録することができます。

@CamundaSelector(type = "userTask", event = TaskListener.EVENTNAME_CREATE) 
public class TaskCreateListener implements TaskListener { 

    public TaskCreateListener(EventBus eventBus) { 
    eventBus.register(this); 
    } 

    @Override 
    public void notify(DelegateTask delegateTask) { 
    ... 
    } 
} 
+1

これは完璧です、ありがとう – MohamadAbdelfatah

2

、ここでは詳細:http://www.activiti.org/userguide/#eventDispatcher

このアプローチを使用すると、タスクの完了など、さまざまなイベントタイプの数をキャプチャすることができます。

古いActivitiとすべてのCamundaの実装では、パーズハンドラを使用して、すべてのタスクのcloseイベントにリスナーを追加します。パースハンドラは、この種のことのためのアイデアです。

PARSEハンドラは、ここで説明します:

関連する問題