Previous |
Next |
A message can remain in a queue after it has been dequeued for the following reasons:
One or more consumers of the message have not yet dequeued it. A message is not removed from a queue until all of its consumers have dequeued it.
The message has not been cleaned up by a background process. After all of the consumers of a message have dequeued it, the message remains in the queue until a background process removes it automatically.
If you see messages in a queue that were dequeued by a consumer, then you can use Enterprise Manager to check on the consumers for a message and to determine whether all of the consumers for a message have dequeued it.
To check on messages in a queue:
Follow the instructions in "Viewing the Consumers Who Can Dequeue Messages" to view the consumers who can dequeue the messages. If there are multiple consumers for a message, then some consumers might not have dequeued the message yet.
Follow the instructions in "Viewing the Messages in a Queue". If the Consumers in Different States field shows PROCESSED
for a message, then all of the consumers of the message have dequeued it. In this case, the message remains in the queue until the background process removes it automatically.