2014-06-24 2 views
0

JMS 인바운드 엔드 포인트를 사용하는 뮬 플로우가 있습니다. 엔드 포인트는 요청 응답입니다. 요청이 다음 트랜스포머에 도착하면 ObjectMessage를 전송하는 테스트를 실행할 때 응답을 볼 수 있습니다. 처리주기의 끝. 내가 외부 자바 클라이언트에서 큐에 JMS 요청을 제출할 때Mule JMS 요청 - 응답

그러나 문제가있는 - JMS 메시지가 전송됩니다 그러나 응답 페이로드는 항상 null입니다 - 내 시나리오 아래의 코드를 포함하고

감사합니다.

다음 Active MQ 테스트 클래스를 사용하여 문제가 해결되었습니다.

connectionFactory = new ActiveMQConnectionFactory(connectionUri); 
connection = connectionFactory.createConnection(); 
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 
replyQueue = session.createQueue("REPLY.Q"); 
requestQueue = session.createQueue("REQUEST.Q"); 
messageConsumer = session.createConsumer(replyQueue); 
messageConsumer.setMessageListener(this); 
connection.start(); 

ObjectMessage message = session.createObjectMessage(); 
message.setObject(getCompositeEntity()); 
message.setJMSReplyTo(replyQueue); 
String randomStr = UUID.randomUUID().toString(); 
message.setJMSCorrelationID(randomStr); 
MessageProducer publisher = session.createProducer(requestQueue); 
publisher.send(message); 

답변

0

는 외부 클라이언트에서 게시 JMS 메시지가 JMSReplyTo 속성이 올바르게 (영구적 또는 일시적으로) 큐 설정이 있습니까?

+0

외부 클라이언트가 응답 메시지를 다시받지 못한다는 사실에 조금 놀랐습니다. – user3703423

+0

빠른 응답으로 인해 문제가 해결되었다고 생각합니다. 뮬에 관한 위대한 책은 많은 것을 배웠습니다. – user3703423

+0

감사합니다. 그러나 문제가 무엇입니까? –

관련 문제