如何在Java中找到远程MQ队列的本地传输队列?

Ale*_*man 5 java mq ibm-mq

在我的Java应用程序中,我MQQueue使用了对象

MQQueue tQueue  = qManager.accessQueue(tqName, tqOptions);
Run Code Online (Sandbox Code Playgroud)

队列是远程队列.有没有办法获得相应的本地传输队列?

(使用MQ 7.5)

谢谢

Sha*_*shi 3

是的,使用runmqsc控制台。

首先在命令提示符下运行

runmqsc <qmgr>

控制台打开后运行

dis qr<remote q> XMITQ
Run Code Online (Sandbox Code Playgroud)

显示远程队列定义使用的传输队列。

更新

另一种方法是使用 PCF 类。

      PCFMessageAgent pcfma = new PCFMessageAgent("QM");
      PCFMessage pcfCmd = new PCFMessage(MQConstants.MQCMD_INQUIRE_Q);
      pcfCmd.addParameter(MQConstants.MQCA_Q_NAME, "Q.REMOTE");
      PCFMessage[] pcfResponse = pcfma.send(pcfCmd);
      String xmitQName = (String) pcfResponse[0].getParameterValue(MQConstants.MQCA_XMIT_Q_NAME);
      System.out.println("XmitQ name " + xmitQName);
Run Code Online (Sandbox Code Playgroud)