シナリオ:
- JMS キュー内の多数のメッセージ
- MDB はそれらをリモート HTTP サーバーに配信します
- リモートサーバーがダウンしている可能性があります
- サーバー全体を詰まらせない再試行メカニズムが必要です。
- 再配信は、1 時間ごとに数日間実行されます。
私の考えは、新しいメッセージが JMS キューに到着したときに MDB が一度に再配信を試みるようにすることですが、これを 1 分ごとに 5 回に制限することです。次に、メッセージは JMS キューから削除され、データベースに入れられます。別の (@Scheduled) EJB は、未送信のメッセージを 1 時間ごとに DB から取得し、独自のスレッドで送信します。
これを行う簡単な方法はありますか?