これを試して:
QMAについて
DEF QR(QMC) RQMNAME(' ') RNAME(' ') XMITQ(QMB)
DEF QR(QC) RQMNAME('QMC') RNAME(' ') XMITQ('QMB')
DEF QL(QMB) USAGE(XMITQ) TRIGTYPE(FIRST) TRIGGER
* Channel def goes here
QRemote は QMgr エイリアスです。QMC へのパスが QMB XMitQ を経由することを指定します。これが定義されると、QMC 宛てのものはすべて QMB XMitQ に解決されます。空白のRNAME
andRQMNAME
は、これを QMgr エイリアスにし、従来のリモート キュー定義ではありません。OPEN
この時点で、コマンドに使用される QMgr とは別に、接続する QMgr を指定できる Q プログラムのようなツールを使用する場合は、 QRemote
. QMC 宛てのすべてのメッセージが QMB に解決されるようになりました。
ただし、あまり洗練されていないものを使用したい場合は、amqsput
本当に QRemote が必要です。はこれDEF QR(QC
を実現します。QRemotes を使用する場合は、QMgr エイリアスは必要ありません。これは単に、「誰かがという名前のキューを開いた場合、QC
それに対処しQC
てQMC
XMitQ にQMB
配置します。
QMB上
DEF QL(QMC) USAGE(XMITQ) TRIGTYPE(FIRST) TRIGGER
* Channel def goes here
QMB では、メッセージが QMC 宛てに到着すると、それ以上の定義やガイダンスなしで自動的に XMitQ に解決されます。
QMC で
DEF QL(QC)
最後に、メッセージは QC に宛てられた QMC に到着するため、メッセージを受信するには QLocal が必要です。
名前解決は少し複雑ですが、一度理解すれば、WMQ アドレッシングをほぼ理解できます。Name Resolution Infocenterのトピックに腰を下ろして、あなたが目にしている動作に戻って調整することをお勧めします。
ちなみに、定義の不一致は、QRemote が XMitQ の代わりにチャネルの名前を使用したことのようです。ある時点で、「送信キューの名前は同じです。キュー マネージャーの名前はそれぞれ QMA、QMB、QMC です」と言います。したがって、B でQMC
QMB.QMC チャネルを提供するという名前の XMitQ が見つかることを期待しています。ただし、後で QMgr エイリアスを定義するdefine qremote(third) rname('') rqmname(QMC) xmitq(B.C)
必要がありますXMITQ(QMC)
。