Messages are not deleted immediately after the amount of time specified by the Specified Expiry in a JMS destination in WebSphere Application Server
 Technote (troubleshooting)
 
Problem(Abstract)
JMS destinations that are configured for the WebSphere JMS Provider (Embedded Messaging) or the WebSphere MQ JMS Provider in WebSphere Application Server V5 or V6 include Expiry and Specified Expiry properties. If Expiry is set to SPECIFIED, the Specified Expiry specifies the number of milliseconds that a message can remain on the queue until it expires. If Expiry is set to APPLICATION DEFINED, the number of milliseconds until a message expires is set by the application. With either of these options, you may find that messages remain on the queue without being deleted after the number of milliseconds that you specify.
 
Resolving the problem
This behavior is by design and expected. After the specified number of milliseconds, a message is flagged for expiration. It is physically deleted from the queue when the next MQGET call is made. An MQGET call is made when an application, such as a message-driven bean running in WebSphere Application Server, tries to get a message from the queue. Messages that are flagged for expiration are deleted at that time. WebSphere MQ is designed this way for performance reasons.
 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers Runtimes for Java Technology Java SDK
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Java Message Service (JMS)
Operating system(s): Windows
Software version: 6.0
Software edition:
Reference #: 1226499
IBM Group: Software Group
Modified date: Dec 27, 2005