指定する値は、メッセージが送信される時間 (ミリ秒単位) に対応する正の long にする必要があります。以下は、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();
// 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();
Copy to ClipboardCopied!Toggle word wrapToggle overflow
スケジュールされたメッセージは、メッセージを送信する前に _AMQ_SCHED_DELIVERY プロパティーを設定し、コア API を使用して送信することもできます。