長時間実行されるバッチ タイプのジョブを開始する必要があります。長い間、数時間かかる可能性のあるジョブについて話しています。この長時間実行されるジョブを実行するロジックを持つ ejb は、NoSQL ストアと通信し、データなどをロードします。
そのため、JMS MDB を使用してこれを非同期的に実行しています。ただし、各ジョブには最大 1 時間以上かかる可能性があるため (最大 4 時間と仮定します)、MDB の onMessage() メソッドをそれほど長く待機させたくありません。そこで、onMessage() MDB メソッド内で非同期 ejb を起動して、バッチ ejb ランナーへの呼び出しの直後に MDB をプールに戻すことを考えていました。
非同期の ejb メソッド呼び出しを MDB と組み合わせることは理にかなっていますか? ほとんどのサンプルは、どちらか一方を使用して同じことを達成することを提案しています。
MDB から呼び出される ejb が非同期でない場合、MDB は長時間待機する可能性があります。
お知らせ下さい。