Oracle AQ Adapter Integration with Oracle Mediator

7-4 Oracle Fusion Middleware Users Guide for Technology Adapters

7.2.2 Dequeue and Enqueue Features

Oracle Streams AQ provides the following dequeuing options: ■ Poll option ■ Notification option The poll option involves processing the messages as they arrive and polling repeatedly for messages. The Oracle AQ Adapter supports a polling mechanism for consuming AQ messages. The Oracle AQ Adapter supports the following features of Oracle Streams AQ: ■ Multiconsumer Queue The Oracle AQ Adapter can retrieve messages from a multiconsumer queue. ■ Navigation of Messages for Dequeuing Messages do not have to be dequeued in the same order in which they were enqueued. You can use a correlation identifier to specify dequeue order. The Adapter Configuration Wizard defines the correlation ID for the dequeue operation. ■ Retries with Delays The number of retries is a property of the Oracle AQ Adapter dequeue header. If the number of retries exceeds the limit, then the message is moved to an exception queue that you specify. The exception queue is a property of the Oracle AQ Adapter enqueue header. ■ Rule-Based Subscription Oracle Streams AQ provides content-based message filtering and subject-based message filtering. A rule defines one or more consumers interest in subscribing to messages that conform to that rule. For a subject-based rule, you specify a Boolean expression using syntax similar to the WHERE clause of a SQL query. This Boolean expression can include conditions on message properties current priority and correlation ID, user data properties object payloads only, and functions as specified in the WHERE clause of a SQL query. ■ Oracle AQ Adapter Header Properties For more information about Oracle AQ Adapter header properties, see Appendix A.3, Oracle AQ Adapter Properties. ■ Dequeue Condition The Dequeue condition is an advanced queuing product feature that Oracle AQ Adapter uses. If a dequeue condition is specified and no messages meet the specified condition, then no dequeue will happen. A dequeue condition element is a Boolean expression using syntax similar to the WHERE clause of a SQL query. This Boolean expression can include conditions on message properties, user object payload data properties, and PLSQL or SQL functions. Message properties include priority, corrid, and other columns in the queue table. When a dequeue is performed from a multisubscriber queue, it is sometimes necessary to screen the messages and accept only those that meet certain conditions. These conditions may concern header information, such as in selecting messages of only priority 1, or some aspect of the message payload, such as in selecting only loan applications above 100,000.