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.

Receiving a Message Synchronously Using a Message Consumer by Specifying Timeout<br />

Syntax<br />

See Chapter 3, "AQ Programmatic Environments" for a list of available functions in<br />

each programmatic environment. Use the following syntax references for each<br />

programmatic environment:<br />

See Java (JDBC): <strong>Oracle</strong>9i Supplied Java Packages Reference oracle.jms,<br />

AQjmsConsumer.receive<br />

Examples<br />

See Chapter 3, "AQ Programmatic Environments" for a list of available functions in<br />

each programmatic environment.<br />

TopicConnectionFactory tc_fact = null;<br />

TopicConnection t_conn = null;<br />

TopicSession t_sess = null;<br />

TopicSession jms_sess;<br />

Topic shipped_orders;<br />

int myport = 5521;<br />

/* create connection and session */<br />

tc_fact = AQjmsFactory.getTopicConnectionFactory("MYHOSTNAME",<br />

"MYSID", myport, "oci8");<br />

t_conn = tc_fact.createTopicConnection("jmstopic", "jmstopic");<br />

jms_sess = t_conn.createTopicSession(true, Session.CLIENT_ACKNOWLEDGE);<br />

shipped_orders = ((AQjmsSession )jms_sess).getTopic("WS",<br />

"Shipped_Orders_Topic");<br />

/* create a subscriber, specifying the correct CustomDatumFactory and<br />

selector */<br />

subscriber1 = jms_sess.createDurableSubscriber(shipped_orders,<br />

’WesternShipping’,<br />

" priority > 1 and tab.user_data.region like ’WESTERN %’",<br />

false,AQjmsAgent.getFactory());<br />

/* receive, blocking for 30 seconds if there were no messages */<br />

Message = subscriber.receive(30000);<br />

JMS Operational Interface: Basic Operations (Shared Interfaces) 16-51

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

Saved successfully!

Ooh no, something went wrong!