각 메시지마다 다른 시간만큼 메시지 배달을 지연하고 싶습니다.weblogic 10.3 server에서 봄에 JMS 메시지를 지연시키는 방법
weblogic 10.3 WLMessage documentation은 javax.jms.Message.getIntProperty("JMS_BEA_DeliveryTime")
을 추천합니다.
그러나 JMS_BEA_DeliveryTime
을 INTEGER
으로 설정하는 방법을 알 수 없습니다. 나는 그것이 그것이 long
이기를 기대하고 있었다.
이 속성에 대한 문서를 찾을 수 없습니다. JMS_BEA_DeliveryTime
을 설정하고 사용하는 방법에 대해 자세히 알려지지 않았습니다. 누구든지 원하는 배달 시간을 설정하는 방법이나이 속성의 사용에 대한 문서화에 대한 링크를 제공 할 수 있습니까? 이 메시지를 반환하기 전에 배달 시간에 대한 헤더를 설정할 수 있다면 궁금
jmsTemplate.send(destination, new MessageCreator() {
public Message createMessage(Session session) throws JMSException {
TextMessage message = session.createTextMessage(textMessage);
return message;
}
});
:
내 코드는 봄 JMS 템플릿의 일반적인 사용처럼 보인다.
기사 링크를 제공해 주셔서 감사합니다. 그것은 JMS 스케줄링을 아주 잘 설명합니다. 그러나 기사에서는 각 메시지가 아니라 제작자의 시간을 설정하는 것에 대해 설명합니다. 또한 새로운 weblogic 문서에 따라 메시지의 setTimeToDeliver 메소드가 사용되지 않습니다. – Pranalee
그래서 두 가지 옵션이 있습니다. 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