私は、送信プロセスによって送信されるメッセージを待っている中間のメッセージイベントを持つ受信プロセスを持っています。カンダのメッセージと共に変数を送信
私はすでに送信プロセスで、次のデリゲートコードによって、中間メッセージイベントをトリガすることができる午前:
RuntimeService runtimeService = ProcessEngines
.getDefaultProcessEngine()
.getRuntimeService();
MessageCorrelationResult result = runtimeService
.createMessageCorrelation("my-message-name")
.setVariable("customer", customer) //trigger instance where customer matches
.correlateWithResult();
私の質問は次のとおりです。どのように私は受信プロセスに送信プロセスから変数を送信することができますメッセージと組み合わせて?ベストプラクティスはありますか?
これは私がこれまで試したhaved何をされています
// Set the variable after the correlation
runtimeService.setVariable(result.getProcessInstance().getId(),
"variableToSend", variableToSend);
私はこのようなJavaDelegate
で変数を取得しよう:興味深いことに
// Access the sent variable
Double sendByOtherProcess = (Double) delegate.getVariable("variableToSend");
// sendByOtherProcess == null
、でvariableToSend
を検索することが可能です受信プロセスでJavaScriptを介して埋め込まれたフォーム。
同期/非同期動作のためisseかもしれないと読んでいますか?
助けてください。
すでにMessageCorrelationBuilderで.setVariableを使用しています。 https://docs.camunda.org/javadoc/camunda-bpm-platform/7.7/org/camunda/bpm/engine/runtime/MessageCorrelationBuilder.html – Zelldon
はい、ありがとうございます!私は '.setVariable'と' .processInstanceVariableEquals'を入れ替えました。あなたが答えを提出すれば私はそれを受け入れるでしょう。次回は慎重に文書を読むことを約束します;) – moa