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.

Enqueuing a Message [Add Payload]<br />

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

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

Note: You may need to set up the following data structures for<br />

certain examples to work:<br />

CONNECT system/manager<br />

CREATE USER aq IDENTIFIED BY aq;<br />

GRANT Aq_administrator_role TO aq;<br />

EXECUTE DBMS_AQADM.CREATE_QUEUE_TABLE (<br />

Queue_table => ’aq.objmsgs_qtab’,<br />

Queue_payload_type => ’aq.message_typ’);<br />

EXECUTE DBMS_AQADM.CREATE_QUEUE (<br />

Queue_name => ’aq.msg_queue’,<br />

Queue_table => ’aq.objmsgs_qtab’);<br />

EXECUTE DBMS_AQADM.START_QUEUE (<br />

Queue_name => ’aq.msg_queue’,<br />

Enqueue => TRUE);<br />

EXECUTE DBMS_AQADM.CREATE_QUEUE_TABLE (<br />

Queue_table => ’aq.prioritymsgs_qtab’,<br />

Sort_list => ’PRIORITY,ENQ_TIME’,<br />

Queue_payload_type => ’aq.message_typ’);<br />

EXECUTE DBMS_AQADM.CREATE_QUEUE (<br />

Queue_name => ’aq.priority_msg_queue’,<br />

Queue_table => ’aq.prioritymsgs_qtab’);<br />

EXECUTE DBMS_AQADM.START_QUEUE (<br />

Queue_name => ’aq.priority_msg_queue’,<br />

Enqueue => TRUE);<br />

Enqueue a Single Message and Specify the Queue Name and Payload<br />

/* Enqueue to msg_queue: */<br />

DECLARE<br />

Enqueue_options DBMS_AQ.enqueue_options_t;<br />

Message_properties DBMS_AQ.message_properties_t;<br />

Message_handle RAW(16);<br />

Message aq.message_typ;<br />

BEGIN<br />

Message := aq.message_typ(’NORMAL MESSAGE’,<br />

’enqueued to msg_queue first.’);<br />

11-16 <strong>Oracle</strong>9i Application Developer’s Guide - <strong>Advanced</strong> <strong>Queuing</strong>

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

Saved successfully!

Ooh no, something went wrong!