Show Table of Contents
10.4. JBPM 組み込み非同期メッセージング
JBPM の組み込み非同期メッセージを使用する場合、ジョブメッセージはデータベースに永続化することによって送信されます。このメッセージの永続化は、JBPM プロセス更新と同じトランザクションまたは JDBC 接続で実行できます。
そのジョブのメッセージは、
JBPM_JOB テーブルに保存されます。
POJOコマンドエグゼキューター (
org.jbpm.msg.command.CommandExecutor) は、データベースのテーブルからメッセージを読み取り、実行します。 つまり、典型的な POJO コマンドエグゼキューターのトランザクションは以下のようになります。
- 次のコマンドメッセージの読み込み
- コマンドメッセージの実行
- コマンドメッセージの削除
コマンドメッセージの実行処理が失敗した場合、トランザクションはロールバックされます。 その後、新しいトランザクションは、開始され、エラーメッセージをデータベースのメッセージに追加します。コマンドエグゼキューターは、例外を含むすべてのメッセージを無視します。

図10.3 POJO コマンドエグゼキュータートランザクション
例外をコマンドメッセージに追加するトランザクションが失敗した場合は、ロールバックされます。 その場合、例外なしでメッセージはキューに残り、後で再試行されます。
重要
JBPM のビルトイン非同期メッセージングシステムはマルチノードロックをサポートしていません。そのため、POJO コマンドエクゼキュータを複数回デプロイすることはできず、同じデータベースを使用するよう設定することもできません。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.