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.

Example Code<br />

JMS Publish-Subscribe Model Features<br />

public void create_booked_orders_subscribers(TopicSession jms_session)<br />

{<br />

Topic topic;<br />

TopicSubscriber tsubs;<br />

AQjmsAgent agt_east;<br />

AQjmsAgent agt_west;<br />

try<br />

{<br />

/* get a handle to the OE_bookedorders_topic */<br />

topic = ((AQjmsSession)jms_session).getTopic("OE",<br />

"OR_bookedorders_topic");<br />

/* Create local subscriber - to track messages for some customers */<br />

tsubs = jms_session.createDurableSubscriber(topic, "SUBS1",<br />

"JMSPriority < 3 AND Customer = ’MARTIN’",<br />

false);<br />

/* Create remote subscribers in the western and eastern region */<br />

agt_west = new AQjmsAgent("West_Shipping", "WS.WS_bookedorders_topic");<br />

((AQjmsSession)jms_session).createRemoteSubscriber(topic, agt_west,<br />

"Region = ’WESTERN’");<br />

agt_east = new AQjmsAgent("East_Shipping", "ES.ES_bookedorders_topic");<br />

((AQjmsSession)jms_session).createRemoteSubscriber(topic, agt_east,<br />

"Region = ’EASTERN’");<br />

/* schedule propagation between bookedorders_topic and<br />

WS_bookedorders_topic, ES.ES_bookedorders_topic */<br />

((AQjmsDestination)topic).schedulePropagation(jms_session,<br />

"WS.WS_bookedorders_topic",<br />

null, null, null, null);<br />

((AQjmsDestination)topic).schedulePropagation(jms_session,<br />

"ES.ES_bookedorders_topic",<br />

null, null, null, null);<br />

}<br />

catch (Exception ex)<br />

{<br />

Creating Applications Using JMS 12-47

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

Saved successfully!

Ooh no, something went wrong!