我试图从一个Java mdb中的websphere mq 8队列管理器接收组消息。 当得到LastMessageInGroup
我收到一个jmsxgroupid
像'ID:45fdea5589'(getStringProperty
)从消息。 当我试图让这个小组,我使用messageconsumer
与messageselector
在那里,我从上面的附加jmsxsequence
添加完全jmsxgroupid
,另一消息,但是当从messageConsumer
调用方法receiveNoWait
我收到Null
BytesMessage
用于获取组的消息选择器来自websphere的消息mq
有趣的是,当groupid
就像是“”它工作的可读字符串。
所以这是代码的一部分。
我们在我们的MDB的onMessage方法中接收到lastMessage。
我们用方法
读取此lastMessage的JMSXGroupID字符串gid = lastMessage.getStringProperty(“JMSXGroupID”)。 然后我们建立一个选择器来获得这个组的其他消息,如下所示:
String strSelector =“JMSXGroupID ='”+ gid +“'AND JMSXGroupSeq = 1”;
consumer = session.createConsumer(destIncoming,strSelector);
bmCurrentMessage =(BytesMessage)consumer.receiveNoWait();
当gid像'ID:8d74b544d5862f32156cbfe845077c02d18ba33ac51c06aa'时,我们收到一个空的BytesMessage! mq的行为就像队列是空的。
当gid与'20151015081515'类似时,我们会收到群组消息的其他消息!
任何提示我应该做什么不同?
感谢这么远的阅读 托马斯
如果您可以发布您的代码,它可能会有所帮助! – Shashi