プロセス定義に関係なく、すべてのCamundaプロセスインスタンスが非同期で開始されるようにしたいと思います。非同期継続の構成のドキュメントでは、この動作では、各開始イベントに「非同期前」属性をマークする必要があることが示されています。
プロセスインスタンスの非同期インスタンス化は、プロセスレベルの開始イベントでcamunda:asyncBefore拡張属性を使用して有効になります。インスタンス化時に、プロセスインスタンスが作成され、データベースに保持されますが、実行は延期されます。
org.camunda.bpm.engine.RuntimeService
すべてのプロセス定義のすべての開始イベントに「AsynchronousBefore」属性を適用せずに、同じ使用または他のJavaコードを実現する方法はありますか?
RuntimeService
非同期メソッドを公開するだけで削除操作のためにそこにある、たとえばdeleteProcessInstancesAsync()
けど何もありませんstartProcessInstanceById**Async**()
方法は。
thorbenのコメントによると、カスタムBpmnParseListener
withparseStartEvent()
メソッドを実装できます。
public class AsyncBeforeStartListener extends AbstractBpmnParseListener {
@Override
public void parseStartEvent(Element startEventElement, ScopeImpl scope,
ActivityImpl startEventActivity) {
startEventActivity.setAsyncBefore(true);
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加