|Oracle9i Application Developer's Guide - Advanced Queuing
Release 1 (9.0.1)
Part Number A88890-02
Operational Interface: Basic Operations, 11 of 19
To refer to the table of all basic operations having to do with the Operational Interface see:
Dequeues a message from the specified queue.
READYstate are dequeued unless a msgid is specified.
BROWSEcall may not see a message that is enqueued after the beginning of the browsing transaction.
NAVIGATION parameter during dequeue is
NEXT MESSAGE. This means that subsequent dequeues will retrieve the messages from the queue based on the snapshot obtained in the first dequeue. In particular, a message that is enqueued after the first dequeue command will be processed only after processing all the remaining messages in the queue. This is usually sufficient when all the messages have already been enqueued into the queue, or when the queue does not have a priority-based ordering. However, applications must use the
FIRST MESSAGE navigation option when the first message in the queue needs to be processed by every dequeue command. This usually becomes necessary when a higher priority message arrives in the queue while messages already-enqueued are being processed.
It may also be more efficient to use the
REMOVEmode locks only a single message. By contrast, a dequeue operation that seeks to dequeue a message that is part of a group will lock the entire group. This is useful when all the messages in a group need to be processed as an atomic unit.
NEXT TRANSACTIONto start dequeuing messages from the next available group. In the event that no groups are available, the dequeue will time-out after the specified
See Chapter 3, "AQ Programmatic Environments" for a list of available functions in each programmatic environment. Use the following syntax references for each programmatic environment:
See Chapter 3, "AQ Programmatic Environments" for a list of available functions in each programmatic environment. Examples in the following programmatic environments are provided: