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 Producer Features<br />

{<br />

}<br />

BolOrder deferred_order)<br />

Queue def_bill_q;<br />

ObjectMessage obj_message;<br />

QueueSender qsender;<br />

try<br />

{<br />

/* get a handle to the deferred billing queue */<br />

def_bill_q = ((AQjmsSession)jms_session).getQueue("CBADM",<br />

"deferbilling_que");<br />

/* Create the QueueSender */<br />

qsender = jms_session.createSender(def_bill_q);<br />

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

obj_message.setObject(deferred_order);<br />

/* Set Delay as 15 days<br />

* Delay is specified in seconds<br />

*/<br />

obj_message.setIntProperty("JMS_<strong>Oracle</strong>Delay", 15*60*60*24);<br />

qsender.send(obj_message);<br />

jms_session.commit();<br />

Time Specification - Expiration<br />

}<br />

catch (Exception ex)<br />

{<br />

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

}<br />

Producers of messages can specify expiration limits, or Time-to-Live (coded as<br />

TimeToLive) for messages. This defines the period of time the message is available<br />

for a Message Consumer.<br />

Time-to-Live can be specified at send/publish time or using the set TimeToLive<br />

method of a Message Producer, with the former overriding the latter. Note that the<br />

AQ background process, the queue monitor must be running to implement<br />

Time-to-Live.<br />

12-60 <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!