我有一个Mule流程,它使用JMS入站端点 - 终点是请求响应 - 当我运行一个测试发送一个ObjectMessage时,请求到达后续的变换器,我可以看到处理周期结束时的响应
但是,当我从外部Java客户端向队列提交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 :(得分:0)
您从外部客户端发布的JMS消息是否将其JMSReplyTo
属性正确设置为队列(永久或临时)?