2

外部サーバーを作成して Weblogic サーバー (WLS) からリモート サーバーにデプロイされている MQ に接続しようとすると、2 つの問題に直面します。1. Bindings モードで MQ Queuemanager に接続しようとすると (.Bindings ファイルをインポートした後)、WLS コンソールに次のエラーが表示され続けます。

java.lang.UnsatisfiedLinkError: java.library.path に mqjbnd05 がありません

  1. トランスポートをクライアントに切り替えると、次のようになります。

JMSWMQ0018: 接続モード「Client」およびホスト名「localhost」でキュー・マネージャー「」に接続できませんでした。キュー・マネージャーが開始されていることを確認し、クライアント・モードで実行されている場合は、実行中のリスナーがあることを確認してください。詳細については、リンクされた例外を参照してください。

誰もこれを見たことがありますか?バインディングよりもクライアントを使用すること、またはその逆を指示するパフォーマンスへの影響はありますか?

ティア

4

2 に答える 2

1

Weblogic Server からリモート サーバーにデプロイされている MQ に接続しようとしているという質問は、WLS と WMQ が 2 つの異なるホスト上にあることを意味すると思います。その場合、バインディング モード接続 (共有メモリ セグメントに依存する) は機能しません。

クライアント モード接続は、WMQ サーバーの IP またはホスト名ではなく、localhost を指す CF を使用しているようです。これは、キュー マネージャーと同じホスト上のアプリケーションでは機能しますが、アプリと QMgr が別のサーバー上にある場合は機能しません。

クライアント モードとバインディング モードのどちらを選択するかについては、QMgr がローカルの場合はバインディングを使用するというのが答えです。これにより、最高の信頼性、最高のパフォーマンス、および XA トランザクション性が提供されます。クライアント モードを使用する場合、拡張トランザクション クライアントがないと、2 フェーズ XA コミットはサポートされません。JMS 仕様によると、COMMIT 呼び出し中にアプリが接続を失った場合に存在する可能性があるあいまいさがあります。アプリがこれを処理する方法によっては、メッセージが重複する可能性があります。(JMS 仕様では、これらを「機能的に重複」と呼んでいます。) このあいまいさがバインディング モード接続で発生する可能性ははるかに低くなります。これは、ネットワーク レイテンシがなく、IP スタックまたはインターフェイスのトラバーサルさえないためです。そのため、可能な限りバインディング モードを使用してください。

更新:
Extended Transactional Client が有料コンポーネントであるというメモを削除しました。 4 月 24 日の時点で、XTC はすべてのプラットフォームのすべてのバージョンの WMQ に対して無料です。

于 2010-09-13T20:53:01.357 に答える
1

最後に、これを解決することができました。クライアント モードで .bindings ファイルを再作成する必要があり、C:\Program Files\IBM\WebSphere MQ\java\bin に存在する可能性が最も高い IVTsetup.bat に変更を加えました。 .bindings ファイルを生成するには、この def qcf(psQCF) TRANSPORT(CLIENT) HOST(SMEKA) PORT(1415) CHANNEL(ps_SRV_CHANNEL) QMGR(psQM) を実行する必要がありました。

詳細については、次のリンクを参照してください。

http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_adapters.doc/doc/peoplesoft/peopleso103.htm

于 2010-09-15T04:02:54.387 に答える