Suppose we have a
setup of distributed queueing system. The sending end application is
putting message to a remote queue, which inturn uses the transmission
queue configured with it to post the message to the local queue of
destination queuemanager using the sender-receiver channel pairs over
the network.
This message
tracking can be done by using the MQ provided “dspmqrte” command
which is the MQ traceroute application which assists us in ruling out
the possibilities of any issue in the message movement in the given
distributed queueing setup.
We can use
dspmqrte to help determine the route a message has taken through a
queue manager network. The WebSphere MQ display route application
generates and puts a trace-route message into a queue manager
network. As the trace-route message travels through the queue manager
network, activity information is recorded. When the trace-route
message reaches it's target queue the activity information is
collected by the WebSphere MQ display route application and
displayed.
Examples
1. The following
command puts a trace-route message into a queue manager network with
the target queue specified as TARGET.Q. Providing queue managers on
route are enabled for activity recording, activity reports are
generated. Depending on the queue manager attribute, ACTIVREC,
activity reports are either delivered to the reply-to queue
ACT.REPORT.REPLY.Q, or are delivered to a system queue. The
trace-route message is discarded on arrival at the target queue.
dspmqrte -q
TARGET.Q -rq ACT.REPORT.REPLY.Q
Providing one or
more activity reports are delivered to the reply-to queue,
ACT.REPORT.REPLY.Q, the WebSphere MQ display route application orders
and displays the activity information.
2.The following
command puts a trace-route message into a queue manager network with
the target queue specified as TARGET.Q. Activity information is
accumulated within the trace-route message, but activity reports are
not generated. On arrival at the target queue the trace-route message
is discarded. Depending on the value of the target queue manager
attribute, ROUTEREC, a trace-route reply message can be generated and
delivered to either the reply-to queue, TRR.REPLY.TO.Q, or to a
system queue.
dspmqrte -ac
-ar -ro discard -rq TRR.REPLY.TO.Q -q TARGET.Q
Providing a
trace-route reply message is generated and is delivered to the
reply-to queueTRR.REPLY.TO.Q, the WebSphere MQ display route
application orders and displays the activity information that was
accumulated in the trace-route message.
Scenarios :
Create a point to
point setup as below
Sender end :
On QM1, Remote queue as RQ, Transmission Queue X1, Sender channel to
QM2 as QM1TOQM2
Receiver end :
On QM2, Local Queue as LQ , Receiver channel QM1TOQM2
Scenario 1:
When everything is fine, the traceroute yields below output :
mqm@satmqw01:~>
dspmqrte -m QM1 -q A2 -v outline
AMQ8653: DSPMQRTE
command started with options '-m QM1 -q A2 -v outline'.
AMQ8659: DSPMQRTE
command successfully put a message on queue 'XMIT1', queue manager
'QM1'.
AMQ8674: DSPMQRTE
command is now waiting for information to display.
--------------------------------------------------------------------------------
Activity:
ApplName:
'dspmqrte '
Operation:
OperationType:
Put
QMgrName: 'QM1
'
QName: 'A2
'
ResolvedQName:
'XMIT1 '
RemoteQName:
'A2 '
RemoteQMgrName:
'QM2 '
--------------------------------------------------------------------------------
Activity:
ApplName:
'runmqchl '
Operation:
OperationType:
Get
QMgrName: 'QM1
'
QName: 'XMIT1
'
ResolvedQName:
'XMIT1 '
Operation:
OperationType:
Send
QMgrName: 'QM1
'
RemoteQMgrName:
'QM2 '
ChannelName:
'QM1TOQM2 '
ChannelType:
Sender
XmitQName:
'XMIT1
'
Scenario 2 :
When the sender channel is stopped
mqm@satmqw01:~>
dspmqrte -m QM1 -q A2 -v outline
AMQ8653: DSPMQRTE
command started with options '-m QM1 -q A2 -v outline'.
AMQ8659: DSPMQRTE
command successfully put a message on queue 'XMIT1', queue manager
'QM1'.
AMQ8674: DSPMQRTE command is now waiting for information to display.
Activity:
ApplName:
'dspmqrte '
Operation:
OperationType:
Put
QMgrName: 'QM1
'
QName: 'A2
'
ResolvedQName:
'XMIT1 '
RemoteQName:
'A2 '
RemoteQMgrName:
'QM2 '
Scenario 3:
When the transmission queue is no present or altered in remote queue
definition:
mqm@satmqw01:~>
dspmqrte -m QM1 -q A2 -v outline
AMQ8653: DSPMQRTE
command started with options '-m QM1 -q A2 -v outline'.
AMQ8681: DSPMQRTE
command has detected an error, reason 2196 'MQRC_UNKNOWN_XMIT_Q'.
AMQ8668: DSPMQRTE
command could not open queue 'A2', queue manager 'QM1'.
AMQ8658: DSPMQRTE
command failed to put a message on the target queue.
Great!it is really nice blog information.after a long time i have grow through such kind of ideas.thanks for share your thoughts with us.
ReplyDeletePython Training in Chennai
Python Training in Tambaram
Big data training in chennai
JAVA Training in Chennai
Software testing training in chennai
Python Training in Chennai
Python Course in Chennai
So amazing guide to trace the message route in websphere MQ. I'll definitely share this content with my friends. Keep doing the good work. Thanks for sharing...
ReplyDeleteBest Hosting in Nepal