09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Dequeue Features<br />

/* Create an AQ Session: */<br />

aq_sess = AQDriverManager.createAQSession(db_conn);<br />

deq_option = new AQDequeueOption();<br />

deq_option.setConsumerName("Overseas_Shipping");<br />

deq_option.setWaitTime(AQDequeueOption.WAIT_NONE);<br />

deq_option.setNavigationMode(AQDequeueOption.NAVIGATION_FIRST_MESSAGE);<br />

deq_option.setDequeueMode(AQDequeueOption.DEQUEUE_LOCKED);<br />

bookedorders_q = aq_sess.getQueue("OS", "OS_bookedorders_que");<br />

while(new_orders)<br />

{<br />

try<br />

{<br />

/* Dequeue the message - browse with lock */<br />

message = bookedorders_q.dequeue(deq_option, Order.getFactory());<br />

obj_payload = message.getObjectPayload();<br />

deq_msgid = message.getMessageId();<br />

deq_order = (Order)(obj_payload.getPayloadData());<br />

deq_cust = deq_order.getCustomer();<br />

cust_country = deq_cust.getCountry();<br />

8-74 <strong>Oracle</strong>9i Application Developer’s Guide - <strong>Advanced</strong> <strong>Queuing</strong><br />

if(cust_country.equals("Canada") ||<br />

cust_country.equals("Mexico"))<br />

{<br />

deq_option.setDequeueMode(<br />

AQDequeueOption.DEQUEUE_REMOVE_NODATA);<br />

deq_option.setMessageId(deq_msgid);<br />

/* Delete the message */<br />

bookedorders_q.dequeue(deq_option, Order.getFactory());<br />

System.out.println("---- next booked order ------");<br />

System.out.println("Order no: " + deq_order.getOrderno());<br />

System.out.println("Ship state: " + deq_cust.getState());<br />

System.out.println("Ship country: " + deq_cust.getCountry());<br />

System.out.println("Order type: " + deq_order.getOrdertype());

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

Saved successfully!

Ooh no, something went wrong!