初めに:
- 3 つの管理対象サーバーと 3 つのJMS サーバーでWeblogic 11gを使用しており、分散キューと 3 つのsaf エージェント(メッセージ送信用) を備えています。すべての JMS サーバーの永続ストアは、ネットワーク パス (3 つのサーバーに対して 3 つのファイル) に格納されます。
output.jms.q
メッセージをキューに送信し (たとえば)、別のキューからメッセージを取得するために約 20 秒待機するアプリケーションが必要です(たとえばinput.jms.q
) 。- 現在、アプリケーションはメッセージを宛先に送信し、メッセージを受信すると、メッセージは分散キュー内の 3 つのキューのいずれかに分類されます。
私のコードでは、Managed-Server-1 からメッセージを送信すると、Managed-Server-1 で応答を取得しようとします。(InitialContext()
コンストラクターを使用)。これにより、メッセージの 66% が到達不能になります。
私はForward Delay
オプションを認識しており、好きなように 2 秒に設定しています。私が開発していたとき、それは魅力のように機能しました! 現在、多くのクライアントにテストしてもらっていると、Forward Delay
が適切なサーバーを選択していないように感じます。
2 つの管理対象サーバーをシャットダウンすると、驚くほど高速に動作します。しかし、私は 3 台ではなく 1 台のマシンしか使用していません。
それは私の設定でしょうか?
管理対象サーバーごとに、JMS サーバーと 1 つの分散キューがあります。この場合、すべての JMS サーバーが接続できるキューが1 つだけあればよいと思います。分散ではなく共有キューのようなもの。
出来ますか?