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.

compatible => '8.1', \<br />

primary_instance => 2, \<br />

secondary_instance => 1);<br />

EXECUTE dbms_aqadm.create_queue ( \<br />

queue_name => 'OE_bookedorders_que', \<br />

queue_table => 'OE_orders_pr_mqtab');<br />

Enqueue Features<br />

/* When an order arrives, the order entry application can use the following<br />

procedure to enqueue the order into its booked orders queue. A shipping<br />

priority is specified for each order: */<br />

CREATE OR REPLACE procedure order_enq(book_title IN VARCHAR2,<br />

book_qty IN NUMBER,<br />

order_num IN NUMBER,<br />

shipping_priority IN NUMBER,<br />

cust_state IN VARCHAR2,<br />

cust_country IN VARCHAR2,<br />

cust_region IN VARCHAR2,<br />

cust_ord_typ IN VARCHAR2) AS<br />

OE_enq_order_data BOLADM.order_typ;<br />

OE_enq_cust_data BOLADM.customer_typ;<br />

OE_enq_book_data BOLADM.book_typ;<br />

OE_enq_item_data BOLADM.orderitem_typ;<br />

OE_enq_item_list BOLADM.orderitemlist_vartyp;<br />

enqopt dbms_aq.enqueue_options_t;<br />

msgprop dbms_aq.message_properties_t;<br />

enq_msgid RAW(16);<br />

BEGIN<br />

msgprop.correlation := cust_ord_typ;<br />

OE_enq_cust_data := BOLADM.customer_typ(NULL, NULL, NULL, NULL,<br />

cust_state, NULL, cust_country);<br />

OE_enq_book_data := BOLADM.book_typ(book_title, NULL, NULL, NULL);<br />

OE_enq_item_data := BOLADM.orderitem_typ(book_qty,<br />

OE_enq_book_data, NULL);<br />

OE_enq_item_list := BOLADM.orderitemlist_vartyp(<br />

BOLADM.orderitem_typ(book_qty,<br />

OE_enq_book_data, NULL));<br />

OE_enq_order_data := BOLADM.order_typ(order_num, NULL,<br />

cust_ord_typ, cust_region,<br />

OE_enq_cust_data, NULL,<br />

OE_enq_item_list, NULL);<br />

/*Put the shipping priority into message property before enqueuing<br />

A Sample Application Using AQ 8-39

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

Saved successfully!

Ooh no, something went wrong!