如何使用Stomp延迟activemq消息(AMQ_SCHEDULED_DELAY)

我正在使用节点js stompit库( https://github.com/gdaws/node-stomp )发送接收来自activemq的消息。

问题: – 有一种情况下,我想安排一条消息发送n分钟后。 我没有看到任何方式,我可以设置这个AMQ_SCHEDULED_DELAY头使用这个库(或任何其他nodejs库)

有没有人使用这些消息属性进行调度。

计划的消息值直接映射到同名的string值,因此AMQ_SCHEDULED_DELAY常量映射到消息属性中的“AMQ_SCHEDULED_DELAY”。 这意味着在STOMP中安排信息很简单。

这里是一个来自ActiveMQ的样本unit testing。

@Test public void testSendMessageWithDelay() throws Exception { MessageConsumer consumer = session.createConsumer(queue); String frame = "CONNECT\n" + "login:system\n" + "passcode:manager\n\n" + Stomp.NULL; stompConnection.sendFrame(frame); frame = stompConnection.receiveFrame(); assertTrue(frame.startsWith("CONNECTED")); frame = "SEND\n" + "AMQ_SCHEDULED_DELAY:2000\n" + "destination:/queue/" + getQueueName() + "\n\n" + "Hello World" + Stomp.NULL; stompConnection.sendFrame(frame); TextMessage message = (TextMessage)consumer.receive(1000); assertNull(message); message = (TextMessage)consumer.receive(2500); assertNotNull(message); }