Spring JMS を使用して、Oracle AQ キューからメッセージを読み取ります。
これらのメッセージを処理するときは、ソケットを使用してベンダー製品に送信します。起動時に、メッセージを送信できるようにベンダーへの接続を開始する必要があります。ここ数日、ベンダーへの接続が確立される前にメッセージがキューから読み取られていることに気付きました。
他のすべての Bean がロードされるまで、JMS リスナーの開始を停止する方法はありますか?
Spring JMS を使用して、Oracle AQ キューからメッセージを読み取ります。
これらのメッセージを処理するときは、ソケットを使用してベンダー製品に送信します。起動時に、メッセージを送信できるようにベンダーへの接続を開始する必要があります。ここ数日、ベンダーへの接続が確立される前にメッセージがキューから読み取られていることに気付きました。
他のすべての Bean がロードされるまで、JMS リスナーの開始を停止する方法はありますか?
@DependsOn
注釈 (またはXML 属性) を使用depends-on
して、JMS リスナーを別の Bean (メッセージ送信コンポーネントなど) が初期化されるまで待機させることができます。
ここでSpringのドキュメントを参照してください。