The recipient_list parameter is valid only for queues that allow multiple consumers. This parameter cannot be set at enqueue time. ![]() The attemps attribute specifies the number of attempts that have been made to dequeue the message. The correlation attribute is an identifier supplied by the producer of the message at enqueue time. You must start the QMN processes for the database if you intend to use the delay and expiration features of Oracle Database Advanced Queuing. Message delay and expiration are enforced by the queue monitor ( QMN) background processes. The priority of this message must be greater than or equal to the priority of the message before which this message is to be enqueued. The delay of this message must be less than or equal to the delay of the message before which this message is to be enqueued. Specifying sequence_deviation for a message introduces some restrictions for the delay and priority values that can be specified for this message. TOP puts the message ahead of any other messages. BEFORE puts the message ahead of the message specified by relative_msgid. The sequence_deviation attribute specifies when the message should be dequeued, relative to other messages already in the queue. This parameter is ignored unless sequence_deviation is specified with the BEFORE attribute. The relative_msgid attribute specifies the message identifier of the message referenced in the sequence deviation operation. You must set the visibility attribute to IMMEDIATE to use buffered messaging. Your locator will not be valid, because the immediate option automatically commits the transaction. LOB locators are valid only for the duration of the transaction. IMMEDIATE makes the enqueue operation an autonomous transaction which commits at the end of the operation.ĭo not use the IMMEDIATE option when you want to use LOB locators. ON_COMMIT (the default) makes the enqueue is part of the current transaction. ![]() ![]() The visibility attribute specifies the transactional behavior of the enqueue request. The enqueue_options parameter specifies the options available for the enqueue operation. There is no situation when both enq_time and step_no are the same for two messages enqueued in the same session. In this case the order in which messages are dequeued depends on step_no, a variable that is monotonically increasing for each message that has the same enq_time. If several messages are enqueued in the same second, then they all have the same enq_time. ![]() This is a warning that the message will be discarded because there are no recipients or subscribers to whom it can be delivered. If a message is enqueued to a multiconsumer queue with no recipient and the queue has no subscribers (or rule-based subscribers that match this message), then Oracle error ORA 24033 is raised. For PL/SQL, Java and precompilers the limit is 32K for the OCI the limit is 4G. The maximum size of the payload is determined by which programmatic interface you use to access Oracle Database Advanced Queuing. To store a payload of type RAW, Oracle Database Advanced Queuing creates a queue table with LOB column as the payload repository. If you want to change the message payload, then you must dequeue the message and enqueue a new message. It is not possible to update the message payload after a message has been enqueued. Message_properties IN message_properties_t,
0 Comments
Leave a Reply. |