Description
The local message dispatcher in the ActiveMQ client checks for expired messages. If the message is determined to be expired, then it discards the message. There are some applications that still want expired messages to be passed on. Essentially, by turning off the client's checking of expired messages, it is delegating that responsibility to the broker to determine whether the message is delivered to the client. The application can then perform it's own application level logic to determine whether it wants to handle expired messages or not. The JMS spec is fairly loose regarding the expiration of messages. The JMS expiration time is more a means of cleaning up a broker's disk queues, and not primarily about stopping the routing of messages.
A new configuration option should be added for consumers: "ignoreExpiration=true".