問題: 分散 VM サーバー上の単一の MQ にアタッチされた複数のコンシューマー アプリケーションのアクティブな仕様があると、MQ メッセージで null ペイロードが発生します。注: 下部の注を参照してください。mq に問題はありません。
詳細: 2 つの VM サーバーに 3 つの Websphere アプリケーションをデプロイしています。1 つのアプリケーションはパブリッシャーであり、他の 2 つのアプリケーションは単一の MQ マネージャーと MQ に接続されたコンシューマーです。2 つのコンシューマ アプリケーションがメッセージを取り出して処理しています。別のサーバー上のコンシューマー アプリケーションは、null ペイロードを受け取ります。複数のアプリケーション サーバー インスタンスが MQ に接続されていることが問題のようであることを確認しました。コンシューマー 2 を使用してサーバー 2 にパブリッシャーをデプロイすることで確認された後、コンシューマー 1 は失敗します。
質問: 別のサーバー インスタンスにデプロイされた複数の MDB アプリケーションを、1 つのキュー マネージャーと 1 つの MQ にバインドしようとした人はいますか?
仕様:
Websphere 7、EJB 3.0 MDB、トランザクションがオフ、別のマシンにインストールされたキューにキューイング。
ゴール:
分散コンピューティング、大量のメッセージに対するスケールアップ。
これは構成の問題だと思いますが、どこを見ればよいか 100% 確信が持てません。MQLink を使用できると読みましたが、サービス バス統合を使用する必要がある理由がわかりません。
サポート ドキュメント: [MQ リンク][1
更新:問題を修正しました。これは、クラスローダーの問題と重複したクラスの組み合わせに関連していました。私が追加した以下のソリューションノートを参照してください。
編集履歴: - 仕様を明確にし、質問を明確にし、全体的な目標を追加しました。- ソリューションへの参照メモ。