2

リクエスタが自分が提起したワークフロー ケースを「RECALL」できる必要があるというビジネス プロセス要件があります。

流れとしては、

  Start ---> Requestor ----> Approver -----> Updater -----> End

Requestor 、 Approver 、 Updater はヒューマン タスクです。

そのため、リクエスター タスクが完了して承認者タスクに移動した後 (開始されていない場合)、リクエスターはプロセス インスタンスを「取り消し」、フローはリクエスターに戻る必要があります。

承認者「ヒューマン タスク」の作業項目が利用可能になることを理解しています。その作業項目を中止すると (内部的にタスクが終了します)、フローは「リクエスター」に戻りますか?

フローが戻らない場合は、プロセス定義にいくつかのシグナルハンドラーを追加して、それを中止できるかどうか疑問に思っています。

  Start ---(signal handler to abort Approver task)----> Requestor ----> Approver -----> Updater -----> End

環境: JBoss 7.1.0、JBPM 5.4.0.Final、Drools 5.5.0.Final、Spring 3.0.6.RELEASE

4

1 に答える 1

2

「添付中間イベント」を使用してこの要件を実装する可能性を見ました。「承認者」タスクに「中間イベント」を添付し、そのイベントでフローは「依頼者」に戻ります。

したがって、流れは次のようになります

Start -------> Requestor ----> Approver (signal handler to go back to Requestor) -----> Updater -----> End

そのイベントを「承認者」タスクのプロセス インスタンスに送信すると、フローがリクエスターに返され、新しいタスクが作成されました。

しかし、「承認者」タスクはまだ「準備完了」状態です。このシグナルで完了/終了する必要があります。どうやってするか?

更新 1:

「シグナル中間イベント」の「 CancelActivity」プロパティを使用して、タスク/アクティビティを終了できました。したがって、シグナルを受信すると、「承認者」タスクは「終了」になり、フローは「要求者」タスクに戻ります。ここに画像の説明を入力

于 2013-01-23T13:07:11.007 に答える