0

I'm developing a solution to retrieve poison messages from a backout queue in Websphere 6.1.

My question is: when this msg (ie. TextMessage) is re-queue from a regular queue to backout queue, what is the queue name in msg.getJMSDestination() and msg.getJMSReplyTo()?

For example: I've got a msg with destination to myQueue. However, for some reason, this msg could not be processed (poison message) and, because websphere is configured for that, this msg is re-queued to backout queue named myBOQueue. If I retrieve this msg from myBOQueue (using MDB), and I execute ((Queue) msg.getJMSDestination()).getQueueName(), what do i go: myQueue or myBOQueue? And if I execute ((Queue) msg.getJMSReplyTo()).getQueueName(), what do I got?

Message document: http://download.oracle.com/javaee/1.4/api/javax/jms/Message.html

Thx, Andre

André Schuster
  • 165
  • 6
  • 18

1 Answers1

1

You want to look in vendor-specific docs. I think retry counts and poison message queues are a vendor-specific feature not included in the JMS spec.

John M
  • 13,053
  • 3
  • 27
  • 26
  • I was able to simulate and check the the queue name in Poison Message JMS Header in getJMSDestination() is the original queue, not the backout queue. However I don't know if it's vendor-specific or JMS default. – André Schuster Feb 05 '11 at 12:58
  • My point was that the bigger feature (retries, poison queue) is a vendor extension. So you couldn't standardize a small detail, value of getJMSDestination, if the bigger feature isn't standardized. In other words, the question of what you'll get from getJMSDestination when the message is redirected to a poison queue isn't standardizable because the concept of redirecting to a poison queue isn't in the standard. – John M Feb 06 '11 at 15:08