Reputation: 143
in my Java application I get MQQueue
object using
MQQueue tQueue = qManager.accessQueue(tqName, tqOptions);
The queue is a remote queue. Is there way to get corresponding local transmission queue ?
(Using MQ 7.5
)
Thanks
Upvotes: 5
Views: 1624
Reputation: 15283
Yes, using runmqsc
console.
First on a command prompt run
runmqsc <qmgr>
.
Once the console opens run
dis qr<remote q> XMITQ
to display the transmit queue used by the remote queue definition.
UPDATE
Another method is to use PCF classes.
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);
Upvotes: 3
Reputation: 31852
When MQ opens a queue it runs a name resolution process to resolve which local queue to open. If the app opens a QRemote, it generally resolves to a transmission queue.
Finding out the name of the resolved queue is easy. Just ask MQ for it after the queue is successfully opened:
public java.lang.String getResolvedQName( )
Upvotes: 1