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.

Dequeue Features<br />

/* Dequeue all international North American orders for Overseas_Shipping: */<br />

EXECUTE BOLADM.get_northamerican_orders;<br />

Visual Basic (OO4O): Example Code<br />

OO4O supports all the modes of dequeuing described earlier. Possible values<br />

include:<br />

ORAAQ_DQ_BROWSE ( 1) - Do not lock when dequeuing<br />

ORAAQ_DQ_LOCKED ( 2) - Read and obtain a write lock on the message<br />

ORAAQ_DQ_REMOVE (3 )(Default) -Read the message and update or delete it.<br />

Dim OraSession as object<br />

Dim OraDatabase as object<br />

Dim OraAq as object<br />

Dim OraMsg as Object<br />

Dim OraOrder,OraItemList,OraItem,OraBook,OraCustomer as Object<br />

Dim Msgid as String<br />

Set OraSession = CreateObject("<strong>Oracle</strong>InProcServer.XOraSession")<br />

Set OraDatabase = OraSession.DbOpenDatabase("", "boladm/boladm", 0&)<br />

set oraaq = OraDatabase.CreateAQ("OE.OE_neworders_que")<br />

OraAq.DequeueMode = ORAAQ_DQ_BROWSE<br />

Java (JDBC): Example Code<br />

public static void get_northamerican_orders(Connection db_conn)<br />

{<br />

AQSession aq_sess;<br />

Order deq_order;<br />

Customer deq_cust;<br />

String cust_country;<br />

byte[] deq_msgid;<br />

AQDequeueOption deq_option;<br />

AQMessageProperty msg_prop;<br />

AQQueue bookedorders_q;<br />

AQMessage message;<br />

AQObjectPayload obj_payload;<br />

boolean new_orders = true;<br />

try<br />

{<br />

A Sample Application Using AQ 8-73

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

Saved successfully!

Ooh no, something went wrong!