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.

Listen to Single-Consumer Queue (Timeout of Zero).<br />

DECLARE<br />

Agent_w_msg aq$_agent;<br />

My_agent_list dbms_aq.agent_list_t;<br />

Listening to One or More Single-Consumer Queues<br />

BEGIN<br />

/* NOTE: MCQ1, MCQ2, MCQ3 are multiconsumer queues in SCOTT’s schema<br />

* SCQ1, SCQ2, SCQ3 are single-consumer queues in SCOTT’s schema<br />

*/<br />

Qlist(1):= aq$_agent(NULL, 'scott.SCQ1', NULL);<br />

Qlist(2):= aq$_agent(NULL, 'SCQ2', NULL);<br />

Qlist(3):= aq$_agent(NULL, 'SCQ3', NULL);<br />

/* Listen with a time-out of zero: */<br />

DBMS_AQ.LISTEN(<br />

Agent_list => My_agent_list,<br />

Wait => 0,<br />

Agent => agent_w_msg);<br />

DBMS_OUTPUT.PUT_LINE('Message in Queue :- ' || agent_w_msg.address);<br />

DBMS_OUTPUT.PUT_LINE('');<br />

END;<br />

Java(JDBC):ListentoQueues<br />

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

{<br />

AQSession aq_sess;<br />

AQAgent[] agt_list = null;<br />

AQAgent ret_agt = null;<br />

try<br />

{<br />

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

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

/* Construct the waiters list: */<br />

agt_list = new AQAgent[3];<br />

agt_list[0] = new AQAgent(null, "scott.SCQ1",0);<br />

agt_list[1] = new AQAgent (null, "SCQ2",0);<br />

agt_list[2] = new AQAgent (null, "SCQ3",0);<br />

/* Wait for order status messages for 120 seconds: */<br />

Operational Interface: Basic Operations 11-25

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

Saved successfully!

Ooh no, something went wrong!