2012-11-20 3 views
1

각 메시지마다 다른 시간만큼 메시지 배달을 지연하고 싶습니다.weblogic 10.3 server에서 봄에 JMS 메시지를 지연시키는 방법

weblogic 10.3 WLMessage documentationjavax.jms.Message.getIntProperty("JMS_BEA_DeliveryTime")을 추천합니다.

그러나 JMS_BEA_DeliveryTimeINTEGER으로 설정하는 방법을 알 수 없습니다. 나는 그것이 그것이 long이기를 기대하고 있었다.

이 속성에 대한 문서를 찾을 수 없습니다. JMS_BEA_DeliveryTime을 설정하고 사용하는 방법에 대해 자세히 알려지지 않았습니다. 누구든지 원하는 배달 시간을 설정하는 방법이나이 속성의 사용에 대한 문서화에 대한 링크를 제공 할 수 있습니까? 이 메시지를 반환하기 전에 배달 시간에 대한 헤더를 설정할 수 있다면 궁금

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

:

내 코드는 봄 JMS 템플릿의 일반적인 사용처럼 보인다.

답변

1

Good article 다른 JMS 공급자에 대한 배달 지연 예를 들어 WL을 포함하십시오.

+0

기사 링크를 제공해 주셔서 감사합니다. 그것은 JMS 스케줄링을 아주 잘 설명합니다. 그러나 기사에서는 각 메시지가 아니라 제작자의 시간을 설정하는 것에 대해 설명합니다. 또한 새로운 weblogic 문서에 따라 메시지의 setTimeToDeliver 메소드가 사용되지 않습니다. – Pranalee

+0

그래서 두 가지 옵션이 있습니다. 1) WebLogic Jms 구현을 다른 JMS 구현 (예 : HornetQ)으로 대체하고 2) Spring JmsTemplate을 내 대답의 기사에서 코드 묶음으로 대체하십시오. 둘 다 좋지 않습니다. 그러나 문서 "http://docs.oracle.com/cd/E13222_01/wls/docs103/javadocs/weblogic/jms/extensions/WLMessage.html#setJMSDeliveryTime%28long"에 설명 된대로 "JMS_BEA_DeliveryTime"속성이 WLProducer에 의해 무시 될 것이라고 생각합니다. % 29 그러나 그럼에도 불구하고, 시험해 볼만한 가치가 있습니다. – user1516873

1

그럼 지금부터 밀리 초를 제안하는 this article을 발견했다하더라도, 시간이 실제로 불구하고 구성하는 것에 많은 언급이없는 Message.setIntProperty(...)로 설정 사소한해야

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

상태 this page있다 .

희망이 있습니다.

관련 문제