如何在weblogic 10.3服务器上在春季延迟JMS消息

时间:2012-11-20 05:44:13

标签: java spring jms weblogic spring-jms

我希望延迟一定时间的邮件传递,这对于每条邮件都是不同的。

我提到weblogic 10.3 WLMessage documentation,建议使用javax.jms.Message.getIntProperty("JMS_BEA_DeliveryTime")

但是,我无法弄清楚如何将JMS_BEA_DeliveryTime设置为INTEGER。我原以为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;
                }
            });

我想知道在返回消息之前是否可以设置标题为交付时间。

2 个答案:

答案 0 :(得分:1)

Good article包含延迟交付不同JMS提供商的示例,包括WL。

答案 1 :(得分:1)

this page表明

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

使用Message.setIntProperty(...)进行设置应该是微不足道的,尽管我确实发现this article建议从现在开始几毫秒,但没有多少提及实际构成的时间。

希望有所帮助。