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 defination:
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.
Comments