如何使用JMS关联ID标识消息?
如何使用JMS关联ID标识消息?我使用的代码如下,但我无法将消息从队列中取出。该工具已确认队列中存在在PropertiesText中设置了如何使用JMS关联ID标识消息?,jms,activemq-artemis,Jms,Activemq Artemis,如何使用JMS关联ID标识消息?我使用的代码如下,但我无法将消息从队列中取出。该工具已确认队列中存在在PropertiesText中设置了JMSCorrelationID='ID:1234567'的消息。发生了什么?是否可以在为JMSCorrelationID指定的值中包含空格? 是否可以使用类似于'ID:1234 ABC'的值 发件人: MessageProducer-mproducer; 会议期间; ... 字符串selectKey=“”ID:1234567'; ObjectMessage
JMSCorrelationID='ID:1234567'
的消息。发生了什么?是否可以在为JMSCorrelationID
指定的值中包含空格?
是否可以使用类似于'ID:1234 ABC'
的值
发件人:
MessageProducer-mproducer;
会议期间;
...
字符串selectKey=“”ID:1234567';
ObjectMessage msg=qSession.createObjectMessage(数据);
msg.setJMSCorrelationID(selectKey);
mProducer.send(msg);
接受者
会话qSession;
...
字符串selectMsgKey=“JMSCorrelationID='ID:1234567';
MessageConsumer mConsumer.createConsumer(队列,选择msgkey);
mConsumer.receive(60000);
我使用ActiveMQ Artemis。您可以在相关ID中使用空格。我认为问题在于您在发件人中定义
selectKey
的方式。您有额外的”
字符。您只需使用:
String selectKey=“ID:1234567”;
那么你的选择器就可以工作了。谢谢你,贾斯汀。我现在可以用你教我的方法正常地得到信息了。