如何解决如何使用 JMS 关联 ID 识别消息?
如何使用 JMS 关联 ID 识别消息?我正在使用如下代码,但无法从队列中取出消息。该工具已确认队列中有一条消息在 PropertiesText 中设置了 JMSCorrelationID ='ID: 1234567'
。怎么了?是否可以在为 JMSCorrelationID
指定的值中包含空格?
是否可以使用 'ID: 1234 ABC'
之类的值?
发件人:
MessageProducer mproducer;
Session qSession;
...
String selectKey = "'' ID: 1234567'";
ObjectMessage msg = qSession.createObjectMessage (data);
msg.setJMSCorrelationID (selectKey);
mProducer.send (msg);
接收器
Session qSession;
...
String selectMsgKey = "JMSCorrelationID ='ID: 1234567'";
MessageConsumer mConsumer.createConsumer (queue,selectMsgKey);
mConsumer.receive (60000);
我使用 ActiveMQ Artemis。
解决方法
关联 ID 中可以有空格。我相信问题在于您在发件人中定义 selectKey
的方式。您有额外的 '
字符。你应该简单地使用:
String selectKey = "ID: 1234567";
那么你的选择器应该可以工作了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。