AMQ_SCHEDULED_DELAY 是 ActiveMQ 中消息调度的一个特性,通过在消息的属性中设置 AMQ_SCHEDULED_DELAY 来延迟消息的投递。根据 ActiveMQ 文档中的说明,AMQ_SCHEDULED_DELAY 属性的值可以是任何非负整数。因此,没有支持的最大值。
以下是设置 AMQ_SCHEDULED_DELAY 的代码示例:
// 创建 ConnectionFactory
ConnectionFactory factory = new ActiveMQConnectionFactory(BROKER_URL);
// 创建 Connection
Connection connection = factory.createConnection();
connection.start();
// 创建 Session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// 创建 Destination
Destination destination = session.createQueue("TEST_QUEUE");
// 创建消息
Message message = session.createTextMessage("Hello, ActiveMQ!");
// 设置延迟时间为 5 秒
message.setLongProperty(ScheduledMessage.AMQ_SCHEDULED_DELAY, 5000);
// 创建生产者并发送消息
MessageProducer producer = session.createProducer(destination);
producer.send(message);
// 关闭资源
session.close();
connection.close();