Chapter 13. Scheduling Messages
You can specify a time in the future, at the earliest, for a message to be delivered. This can be done by setting the
_AMQ_SCHED_DELIVERY scheduled delivery property before the message is sent.
The specified value must be a positive
long that corresponds to the time in milliseconds for the message to be delivered. Below is an example of sending a scheduled message using the JMS API.
// Create a message to be delivered in 5 seconds TextMessage message = session.createTextMessage("This is a scheduled message message that will be delivered in 5 sec."); message.setLongProperty("_AMQ_SCHED_DELIVERY", System.currentTimeMillis() + 5000); producer.send(message); ... // The message will not be received immediately, but 5 seconds later TextMessage messageReceived = (TextMessage) consumer.receive();
Scheduled messages can also be sent using the core API by setting the
_AMQ_SCHED_DELIVERY property before sending the message.