2017-02-24 31 views
1

私はqmgrs qm1とqm2をそれぞれ持つ2つのサーバを指し示す仮想IPを持っています。 qmgrエイリアスを使って仮想IPを呼び出すことができるように、別のアプリケーションにqmgrエイリアスが必要です。qmgrエイリアスは、それに従って、特定のサーバーのqmgrを指す必要があります。qmgrエイリアスを作成する方法

私がしたこと:
私はqmgrエイリアスを次のように作成しました。 QM1と、サーバ1では
:SERVER2で

Define qremote(QMALIAS) rname('') rqmname(QM1) xmitq(x) 

:それはvirtualipとQMALIASにアクセスしようとしたとき

Define qremote(QMALIAS) rname('') rqmname(QM2) xmitq(x) 

は、私は他のアプリケーションからの2059エラーを取得します。

私はIBM MQを使用します。 助けてもらえますか?

答えて

2

あなたはアプリケーションから2059というエラーが発生したと言いました。私はあなたが2058MQRC_Q_MGR_NAME_ERROR)を意味すると思います。 QMALIASためQREMOTE定義で

あなたは空白のXMITQおくべきです:キュー・マネージャーを指定しないでください

  1. :あなたはこの仕事をするために2つの選択肢があり、クライアント側では

    DEFINE QREMOTE(QMALIAS) RNAME('') RQMNAME(QM1) XMITQ('') 
    DEFINE QREMOTE(QMALIAS) RNAME('') RQMNAME(QM2) XMITQ('') 
    

    をMQCONNコールの名前を空白(NULL)または空白のままにします。

  2. *を、MQCONNコールのキュー・マネージャー名(例:*QMALIASまたは単に*)に配置します。

これは、クライアントがRQMNAMEがMQCONN呼び出しで名前と一致し、それがその後、2058MQRC_Q_MGR_NAME_ERROR)を生成しないことを確認していないことになります。

また、MQOPEN呼び出しでBASE QMNAMEを空白のままにしておくと、クライアントアプリのQMALIASエントリは不要です。 VIPを介して接続するリモート・キュー・マネージャーもサポートする必要がある場合は、その目的のためにQMALIASが必要です。

+0

xmitq(x)をxmitq( '')に修正しました。私はVIPのみを使用します。他のアプリケーションがvipホスト名とxmitq(QMALIAS)としてサーバーを持つsdrチャネルを定義しようとすると、チャネルが開始され、AMQ9509がスローされます。プログラムはキューマネージャオブジェクトを開けません。 – user862833

+0

@ user862833は、QM1とQM2で定義されたSVRCONNチャネルに接続しているMQクライアントアプリの問題ですか、QM1とQM2のSDRチャネルを持つリモートキューマネージャの問題ですか? SDRがXMITQを指す必要がある場合、AMQ9509エラーはXMITQが存在しないことを示します。また、このタイプのセットアップでは、チャンネルが非永続メッセージを送信する場合を除き、SEQNUMの問題が発生します。あなたは解決しようとしている問題を明確にするためにあなたの質問を更新してください。 – JoshMc

+0

@ user862833これ以上のコメントがありますか?私はあなたが明確にしたら、これに対処するために私の答えを修正します。 – JoshMc

関連する問題