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.

public static void AQObjectPayloadTest(AQSession aq_sess)<br />

throws AQException, SQLException, ClassNotFoundException<br />

{<br />

Connection db_conn = null;<br />

AQQueue queue = null;<br />

AQMessage message = null;<br />

AQObjectPayload payload = null;<br />

AQEnqueueOption eq_option = null;<br />

AQDequeueOption dq_option = null;<br />

PERSON pers = null;<br />

PERSON pers2= null;<br />

ADDRESS addr = null;<br />

db_conn = ((AQ<strong>Oracle</strong>Session)aq_sess).getDBConnection();<br />

queue = aq_sess.getQueue("aquser", "test_queue2");<br />

/* Enable enqueue/dequeue on this queue */<br />

queue.start();<br />

/* Enqueue a message in test_queue2 */<br />

message = queue.createMessage();<br />

pers = new PERSON();<br />

pers.setName("John");<br />

addr = new ADDRESS();<br />

addr.setStreet("500 Easy Street");<br />

addr.setCity("San Francisco");<br />

pers.setHome(addr);<br />

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

payload.setPayloadData(pers);<br />

eq_option = new AQEnqueueOption();<br />

/* Enqueue a message into test_queue2 */<br />

queue.enqueue(eq_option, message);<br />

db_conn.commit();<br />

Enqueuing and Dequeuing Of Messages<br />

/* Dequeue a message from test_queue2 */<br />

dq_option = new AQDequeueOption();<br />

message = ((AQ<strong>Oracle</strong>Queue)queue).dequeue(dq_option, PERSON.getFactory());<br />

<strong>Oracle</strong> <strong>Advanced</strong> <strong>Queuing</strong> by Example A-17

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

Saved successfully!

Ooh no, something went wrong!