1

我想将消息传递延迟特定时间,这对于每条消息都会有所不同。

我参考了推荐使用 的weblogic 10.3 WLMessage 文档javax.jms.Message.getIntProperty("JMS_BEA_DeliveryTime")

但是我无法弄清楚如何设置JMS_BEA_DeliveryTimeINTEGER. 我期待它是long

我无法找到有关此属性的任何文档JMS_BEA_DeliveryTime来取消设置和使用它。任何人都可以举例说明如何设置所需的交货时间或链接到使用此属性的文档。

我的代码看起来像是 Spring JMS 模板的典型用法:

 jmsTemplate.send(destination, new MessageCreator() {
                public Message createMessage(Session session) throws JMSException {
                  TextMessage message = session.createTextMessage(textMessage);
                  return message;
                }
            });

我想知道是否可以在返回消息之前设置传递时间的标题。

4

2 回答 2

1

包含不同 JMS 提供者延迟交付示例的好文章,包括 WL。

于 2012-11-20T07:17:31.707 回答
1

那么有这个页面说明

JMS Delivery Time: The earliest absolute time at which 
                   a message can be delivered to a consumer.

使用Message.setIntProperty(...)进行设置应该是微不足道的,尽管我确实发现这篇文章暗示了从现在开始的毫秒数,但实际上并没有太多提及时间的实际构成。

希望有帮助。

于 2012-11-20T12:45:38.150 回答