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.

PL/SQL (DBMS_AQADM Package): Example Code<br />

CONNECT OE/OE;<br />

/* Schedule Propagation from bookedorders_que to shipping: */<br />

EXECUTE dbms_aqadm.schedule_propagation( \<br />

queue_name => ’OE.OE_bookedorders_que’);<br />

/* Check if a schedule has been created: */<br />

SELECT * FROM user_queue_schedules;<br />

/* Enqueue some orders into OE_bookedorders_que: */<br />

EXECUTE BOLADM.order_enq(’My First Book’, 1, 1001, ’CA’, ’USA’, \<br />

’WESTERN’, ’NORMAL’);<br />

EXECUTE BOLADM.order_enq(’My Second Book’, 2, 1002, ’NY’, ’USA’, \<br />

’EASTERN’, ’NORMAL’);<br />

EXECUTE BOLADM.order_enq(’My Third Book’, 3, 1003, ’’, ’Canada’, \<br />

’INTERNATIONAL’, ’NORMAL’);<br />

EXECUTE BOLADM.order_enq(’My Fourth Book’, 4, 1004, ’NV’, ’USA’, \<br />

’WESTERN’, ’RUSH’);<br />

EXECUTE BOLADM.order_enq(’My Fifth Book’, 5, 1005, ’MA’, ’USA’, \<br />

’EASTERN’, ’RUSH’);<br />

EXECUTE BOLADM.order_enq(’My Sixth Book’, 6, 1006, ’’ , ’UK’, \<br />

’INTERNATIONAL’, ’NORMAL’);<br />

EXECUTE BOLADM.order_enq(’My Seventh Book’, 7, 1007, ’’, ’Canada’, \<br />

’INTERNATIONAL’, ’RUSH’);<br />

EXECUTE BOLADM.order_enq(’My Eighth Book’, 8, 1008, ’’, ’Mexico’, \<br />

’INTERNATIONAL’, ’NORMAL’);<br />

EXECUTE BOLADM.order_enq(’My Ninth Book’, 9, 1009, ’CA’, ’USA’, \<br />

’WESTERN’, ’RUSH’);<br />

EXECUTE BOLADM.order_enq(’My Tenth Book’, 8, 1010, ’’ , ’UK’, \<br />

’INTERNATIONAL’, ’NORMAL’);<br />

EXECUTE BOLADM.order_enq(’My Last Book’, 7, 1011, ’’ , ’Mexico’, \<br />

’INTERNATIONAL’, ’NORMAL’);<br />

/* Wait for propagation to happen: */<br />

EXECUTE dbms_lock.sleep(100);<br />

/* Connect to shipping sites and check propagated messages: */<br />

CONNECT WS/WS;<br />

set serveroutput on;<br />

Propagation Features<br />

/* Dequeue all booked orders for West_Shipping: */<br />

EXECUTE BOLADM.shipping_bookedorder_deq(’West_Shipping’, DBMS_AQ.REMOVE);<br />

A Sample Application Using AQ 8-109

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

Saved successfully!

Ooh no, something went wrong!