http://java.dzone.com/articles/sending-delayed-jms-messages
http://download.oracle.com/docs/cd/E12840_01/wls/docs103/javadocs/weblogic/jms/extensions/WLMessageProducer.html#setRedeliveryLimit%28int%29
NOTE: this setting can take place either on the Queue or on the Connection factory!
See also basic JMS Send Message code here
If we enrich that code with:
long timeToDeliver = 60000; // a minute from now
//Casts queueSender to weblogic.jms.extensions.WLMessageProducer interface and set delivery time
((WLMessageProducer) queueSender).setTimeToDeliver(timeToDeliver );
queueSender.send(message);
see here for javadoc
The message WILL appear in the queue, but with a state "delayed", a "Delivery Time" in the future and a property JMS_BEA_DeliveryTime with the future time.
- Man of the future - age: 500 years from now
- I tell you that I have seen in the street a man like this, alive!
- Absurd!
In OSB, the best thing is to have 2 Connection factories, each with a different Default Time To Deliver, and a different Business Service for immediate messages and delayed messages.
Tuesday, July 5, 2011
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment