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.

JMS Message Consumer Features<br />

*/<br />

dest_prop);<br />

/* start the exception queue for receiving (dequeuing) messages only<br />

((AQjmsDestination)excpq).start(jms_session, false, true);<br />

}<br />

catch (JMSException ex)<br />

{ System.out.println("Exception " + ex); }<br />

}<br />

2. Publish message on back orders queue with exception queue set to WS_back_<br />

orders_excp_que<br />

public static void requeue_back_order(TopicSession jms_session,<br />

String sale_region, BolOrder back_order)<br />

{<br />

Topic back_order_topic;<br />

ObjectMessage obj_message;<br />

TopicPublisher tpub;<br />

long timetolive;<br />

try<br />

{<br />

back_order_topic = ((AQjmsSession)jms_session).getTopic("WS",<br />

"WS_backorders_topic");<br />

obj_message = jms_session.createObjectMessage();<br />

obj_message.setObject(back_order);<br />

/* set exception queue */<br />

obj_message.setStringProperty("JMS_<strong>Oracle</strong>ExcpQ", "WS.WS_back_orders_<br />

excp_que");<br />

tpub = jms_session.createPublisher(null);<br />

/* Set message expiration to 7 days: */<br />

timetolive = 7*60*60*24*1000; // specified in milliseconds<br />

/* Publish the message */<br />

tpub.publish(back_order_topic, obj_message, DeliveryMode.PERSISTENT,<br />

1, timetolive);<br />

jms_session.commit();<br />

}<br />

catch (Exception ex)<br />

{<br />

System.out.println("Exception :" + ex);<br />

12-82 <strong>Oracle</strong>9i Application Developer’s Guide - <strong>Advanced</strong> <strong>Queuing</strong>

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

Saved successfully!

Ooh no, something went wrong!