Search code examples
javajmstibcomessage-driven-bean

Tibco how to get original queue name for undelivered messages in DLQ $sys.undelivered


I am currently designing error handling for unprocessed JMS messages for a customer. Tibco EMS is used as a broker, MDB in Weblogic as consumer.

I am evaluating Tibco DLQ capabilities - the $sys.undelivered queue for undelivered messages. We want to implement a handler for the $sys.undelivered to handle situations when MDB repeatedly rollbacks the messages due to temporary errors and they land in the $sys.undelivered.

As the $sys.undelivered seems to be a shared queue and we have multiple MDBs handling messages from multiple queues differently, is there any way how to determine original queue where the message has been posted for messages placed into the $sys.undelivered?


Solution

  • The messages are moved as is to the $sys.undelivered queue, including JMS header properties such as the standard JMSDestination property or your own custom header properties. These header properties could most likely be used to support your requirements.