JBoss.org Community Documentation

- Prev
- Next

## Chapter 26. Scheduled Messages

Scheduled messages differ from normal messages in that they won't be delivered until a specified time in the future, at the earliest.

To do this, a special property is set on the message before sending it.

## 26.1. Scheduled Delivery Property

The property name used to identify a scheduled message is `"_HQ_SCHED_DELIVERY"` (or the constant `Message.HDR_SCHEDULED_DELIVERY_TIME`).

The specified value must be a positive `long` corresponding to the time the message must be delivered (in milliseconds). An example of sending a scheduled message using the JMS API is as follows.

      TextMessage message =
       session.createTextMessage("This is a scheduled message message which will be delivered
         in 5 sec.");
      message.setLongProperty("_HQ_SCHED_DELIVERY", System.currentTimeMillis() + 5000);
      producer.send(message);

      ...

      // 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 same property on the core message before sending.

## 26.2. Example

See Section 11.1.50, “Scheduled Message” for an example which shows how scheduled messages can be used with JMS.

- PrevChapter 25. Queue Attributes
- Top of page
- Front page
- NextChapter 27. Last-Value Queues