This topic describes the leave Leave messages on the queue option and discusses potential issues you might encounter when using it.
The Leave messages on the queue option configures SOAtest to use the JMS QueueBrowser API in order to trace messages posted on a JMS queue— without removing them from the queue. This allows SOAtest to gain visibility into these messages without impacting the transaction.
This option uses the JMS QueueBrowser API to provide visibility into the messages on the queue. However, limitations inherent in the JMS QueueBrowser API might impact this option.
JMS QueueBrowser allows only a pull mechanism to obtain a list of messages on a queue. Thus, it is possible that messages will be placed and picked up on a queue before SOAtest's QueueBrowser has a chance to see them. The JMS specification does not require JMS vendors to provide a live list of messages, so it could be a snapshot at a particular moment of time.
Nevertheless, this option can operate very reliably in situations where JMS messages sit idle on a queue before they are picked up by another application— i.e., if there is sufficient time for SOAtest's QueueBrowser to see these messages as it constantly polls for new messages.
If you plan on monitoring messages on a queue, check if your JMS/ESB platform provides a special system topics that applications can use for tracing purposes. Many vendors (such as TIBCO and Sonic) provide such topics; they are typically documented under sections titled with "tracing," "monitoring" or "logging."
Monitoring JMS topics is not affected by this limitation because it employs a subscription model that guarantees messages are seen as they get published to all subscribers of the topic (given that they match any provided message selector criteria).