5

Is it possible to keep a history of messages (with message content would be perfect) that have already been retrieved and are no longer on a queue?

In the application I can see when the sender attempts to put the message in the queue and when the receiver attempts to pick the messages up, but I'd like to see when the message really arrived into the queue and when the messages were really received.

Does MQ Explorer have this function? How would I use it?

Michael Armes
  • 1,056
  • 2
  • 17
  • 31

2 Answers2

3

What you are looking for is a message tracking/auditing software for IBM MQ. You can find a list of what is available here.

Roger
  • 7,062
  • 13
  • 20
2

It is possible to use an API exit to make copies of messages in a queue or to audit both PUT and GET operations.

It is also possible to put messages to a topic, then create as many administrative subscriptions to destination queues as required. Something can then GET and log messages from one of those destination queues. The problem with this is that MQ changes the message ID between publication and consumption whereas in a queue it remains static.

There is no native MQ function to capture messages. It's possible to use linear logs and later scrape the logs but these do not necessarily capture all messages due to optimization. (A message PUT to a waiting getter outside of syncpoint for example.) However there is at least one commercial product to scrape linear transaction logs to audit message activity.

The philosophy of MQ in general is that it is the delivery mechanism and deals with envelope data to route and deliver but does not deal with payload data. WAS, IIB and other broker/transformation engines are where IBM has put all of the functions that deal with message payloads.

T.Rob
  • 31,522
  • 9
  • 59
  • 103