2

アクティビティ「someProcess」を呼び出すメインプロセス「compensateProcess」があります。

補償プロセス

someProcess は次のとおりです。

一部のプロセス

成功変数を false に設定して REST API からメイン プロセスを開始すると、補正イベントがスローされます。

{"processDefinitionKey":"compensateProcess", "variables":[{"name": "successful", "value": false}]}

次の出力が得られます。

First task
second task
hello
compensate second task
compensate first task

したがって、「compensate hello」タスクは実行されません。呼び出しアクティビティにリンクされた境界イベントがないため、これは正常な場合があります。呼び出されたアクティビティに補償イベントを転送することは可能ですか? 目標は、コードの重複につながる「compensate hello」タスクを再実装する必要がないようにすることです。

callActivity を埋め込みサブプロセスに置き換えると、補正が期待どおりに実行されることに注意してください。

4

1 に答える 1

0

本当にCompensate Helloトリガーする必要がある場合は、メインプロセスでも複製する必要があります。

Activiti ユーザーガイド (現在は 5.15) から:

Compensation is not propagated to sub process instances spawned by call activities.

Userguideで確認できCurrent limitationsます。少し下のセクションをご覧ください。

于 2014-05-05T13:00:19.327 に答える