WLS Foreign Serverを使用したMQ
-
02-10-2019 - |
質問
外部サーバーを作成してWebLogicサーバー(WLS)からリモートサーバーに展開されるMQに接続しようとすると、2つの問題に直面しています。 1. BindingsモードでMQ QueueMeanagerに接続しようとすると(.bindingsファイルをインポートした後)、WLSコンソールで以下のエラーを取得し続けます。
java.lang.unsatisfiedlinkerror:java.library.pathのmqjbnd05なし
- トランスポートをクライアントに切り替えた場合、私は取得し続けます:
JMSWMQ0018:接続モード「クライアント」とホスト名「LocalHost」で「キューマネージャー」に接続できませんでした。キューマネージャーが開始されていることを確認し、クライアントモードで実行されている場合は、リスナーが実行されていることを確認してください。詳細については、リンクされた例外をご覧ください。
誰かがこれを見たことがありますか?また、バインディングよりもクライアントの使用を指示するパフォーマンスの影響はありますか?
ティア
解決
最後に、私はこれを解決することができました。C: Program Files IBM WebSphere MQ Java binに存在する可能性が最も高いiVtsetup.batを変更して、クライアントモードで.bindingsファイルを再作成する必要がありました。このDEF QCF(PSQCF)トランスポート(クライアント)ホスト(SMEKA)ポート(1415)チャネル(PS_SRV_CHANNEL)QMGR(PSQM)を実行して、.bindingsファイルを生成する必要がありました。
詳細については、このリンクを参照してください。
他のヒント
質問が述べているところ Weblogicサーバーからリモートサーバーに展開されているMQに接続しようとします これは、WLSとWMQが2つの異なるホストにいることを意味すると思います。その場合、バインディングモード接続(共有メモリセグメントに依存する)が機能しません。
クライアントモード接続は、WMQサーバーのIPまたはホスト名ではなく、ローカルホストを指し示しているCFを使用しているようです。これは、アプリとQMGRが別々のサーバー上にあるときではなく、キューマネージャーと同じホストのアプリケーションで機能します。
クライアントモードとバインディングモードのいずれかを選択する限り、答えは、QMGRがローカル使用バインディングである場合です。これにより、最高の信頼性、最高のパフォーマンス、XAトランザシティが提供されます。クライアントモードを使用する場合、2フェーズXAコミットは、拡張トランザクションクライアントなしではサポートされません。 JMS仕様に従って、コミットコール中にアプリが接続を失った場合に存在する可能性のある曖昧さがあります。アプリがこれを処理する方法に応じて、メッセージが複製されることになります。 (JMSスペックは、これらを「機能的に複製する」と呼んでいます。)このあいまいさは 多くの ネットワークレイテンシがなく、IPスタックやインターフェイスのトラバーサルさえないため、バインディングモード接続で発生する可能性は低くなります。可能であれば、バインディングモードを使用してください。
アップデート:
拡張されたトランザクションクライアントが充電可能なコンポーネントであることについてのメモを削除しました。 4月24日現在, 、XTCは、すべてのプラットフォーム上のWMQのすべてのバージョンに対して無料です。