Last updated on MAY 04, 2017
Applies to:Oracle Database - Enterprise Edition - Version 126.96.36.199 and later
Information in this document applies to any platform.
In a single consumer queue, it is expected that when retry_count for a message if greater than max_retries, the message changes its status to EXPIRED and message is moved to the exception queue.
In a multiconsumer queues, the message will move to the exception and will change its status to EXPIRED only when ALL the the subscribers for that message has consumed or exceed the max_retries. Meanwhile there is a subscriber which can dequeue the message, the message status will remain as READY even for those subscribers that has exceeded max_retries. Those subscribers that have exceeded max_retries won't be able to dequeue that message anymore although status appear as READY for them.
But if AQ-JMS interface is been used to dequeue messages, you are working with a multiconsumer queue and message state is not changing to EXPIRED, despite all subscribers have exceed max_retries then you maybe hitting on <Bug:11880649>
You are working on release 11.2 or recently has upgraded to release 11.2
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms