09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Dequeuing a Message from a Single-Consumer Queue [SpecifyOptions]<br />

Examples<br />

See Chapter 3, "AQ Programmatic Environments" for a list of available functions in<br />

each programmatic environment. Examples in the following programmatic<br />

environments are provided:<br />

PL/SQL (DBMS_AQ Package): Dequeue of Object Type Messages on page 11-49<br />

Java (JDBC): Dequeue a message from a single-consumer queue (specify<br />

<br />

options) on page 11-49<br />

Visual Basic (OO4O): Dequeue a message on page 11-50<br />

PL/SQL (DBMS_AQ Package): Dequeue of Object Type Messages<br />

/* Dequeue from msg_queue: */<br />

DECLARE<br />

dequeue_options dbms_aq.dequeue_options_t;<br />

message_properties dbms_aq.message_properties_t;<br />

message_handle RAW(16);<br />

message aq.message_typ;<br />

BEGIN<br />

DBMS_AQ.DEQUEUE(<br />

queue_name => ’msg_queue’,<br />

dequeue_options => dequeue_options,<br />

message_properties => message_properties,<br />

payload => message,<br />

msgid => message_handle);<br />

DBMS_OUTPUT.PUT_LINE (’Message: ’ || message.subject ||<br />

’ ... ’ || message.text );<br />

COMMIT;<br />

END;<br />

Java (JDBC): Dequeue a message from a single-consumer queue (specify<br />

options)<br />

/* Dequeue a message with correlation id = ’RUSH’ */<br />

public static void example(AQSession aq_sess) throws AQException, SQLException<br />

{<br />

AQQueue queue;<br />

AQMessage message;<br />

AQRawPayload raw_payload;<br />

AQDequeueOption deq_option;<br />

byte[] b_array;<br />

Connection db_conn;<br />

Operational Interface: Basic Operations 11-49

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!