0

そこで、4台のサーバーと4台のキューがすべて接続されているVIPの背後にあるクラスター化されたWebLogicサーバーに接続するプログラムを作成しました(分散型と呼ばれていると思います...)ローカルマシンからプログラムを実行してJMS接続を取得する場合、メッセージを探して切断すると、うまく機能します。そしてそれによって私はそれを意味します:

  • 反復#1

    • サーバー1に接続します。
    • メッセージを探す
    • 切断します
  • 反復#2

    • サーバー2に接続します。
    • メッセージを探す
    • 切断します

等々。

ただし、サーバーで実行すると、アプリケーションはサーバーを選択してそれに固執します。新しいサーバーを選択することはないため、他のサーバーのキューが機能することはありません。「スティッキーセッション」セットアップのように...私のOSはWin7で、サーバーOSはWin2008r2です。JDKは両方のマシンで同一です。この構成されたクライアント側はどのようになっていますか?サーバーの実装では、「ApacheProcrun」を使用してサービスとして実行します。しかし、私はその部分であまり多くの問題を見ていません...

どこかに書き出されるセッションCookieはありますか?

何か案は?

ありがとう!

4

1 に答える 1

1

JMS 接続ファクトリーで「サーバー・アフィニティー」を無効にしてみてください。Default Connection Factory を使用している場合は、独自の無効なサーバー アフィニティを定義します。

編集: サーバー アフィニティはサーバー側の設定ですが、WebLogic JMS サーバーがメッセージを受信した後にメッセージがコンシューマーにルーティングされる方法を制御します。もう 1 つのオプションは、ラウンド ロビン DNS を使用し、各接続が異なるサーバーに接続されるように、異なる IP (管理対象サーバー) に解決される 1 つのホスト名のみに送信することです。

これがあなたが探している設定だと確信しています:)

于 2012-06-27T21:58:08.387 に答える