2016-08-10 1 views
2

은, 봄은에 다음 헤더 정보를 추가 유지 :MQ로 메시지를 보낼 때 기본 Spring JMS 템플릿 헤더를 제거하는 방법은 무엇입니까? 은 WebSphere MQ와 상호 작용하는 자바/스프링을 사용하며 메시지를 보내려고

RFH Ì ¸MQSTR ¸ <mcd><Msd>jms_text</Msd></mcd> <jms><Dst>queue:///MY.QUEUE.INFORMATION.TEST</Dst><Rto>queue:///MY.QUEUE.INFORMATION.TEST</Rto><Tms>123456789</Tms><Dlv>2</Dlv></jms>BEGINNING_OF_MY_PAYLOAD

를 내가 모든 것을 제거하고 단지 내 페이로드를 보낼 것입니다 방법 ? 위의 발췌 문장에서 내 페이로드를 BEGINNING_OF_MY_PAYLOAD으로 참조 할 수 있습니다.

여기 내가 사용하는 기능입니다 :

public void sendMessage(final String text) { 
     this.jmsTemplate.send(new MessageCreator() { 
      @Override 
      public Message createMessage(Session session) throws JMSException { 
       Message message = session.createTextMessage(text); 
       destination = session.createQueue("MY.QUEUE.INFORMATION.TEST"); 
       springJmsConsumer.setDestination(destination); 
       message.setJMSReplyTo(destination); 
       return message; 
      } 
     }); 
    } 

답변

2

이 그것을 알아 냈다. 언제 우리는 항상 다음을 사용, 우리의 봄 JMS 메시지에서 헤더은 WebSphere MQ에 발송되고 제거 할 :

this.jmsTemplate.convertAndSend("queue:///YOUR.QUEUE.NAME.HERE?targetClient=1", text);

그래서 지금 내 기능과 같이 보인다 :

public void send(String text) { 
     this.jmsTemplate.convertAndSend("queue:///MY.QUEUE.INFORMATION.TEST?targetClient=1", text); 
} 
관련 문제