这里我试图从队列中删除一条消息。但消息返回始终为空。即使提供的 jmsId 存在一条消息。 我在这里做错了什么。
注意:队列初始化是正确的,使用相同的方法从队列中获取信息
public void markAsViewed(String jmsId) throws JMSException, NamingException {
try {
InitialContext initialContext = new InitialContext();
connectionFactory = (ConnectionFactory) initialContext.lookup("java:comp/env/qTt");
mQueue = (Queue) initialContext.lookup("java:comp/env/qTtQueueRef");
jmsConnection = connectionFactory.createConnection();
jmsSession = jmsConnection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
messageConsumer = jmsSession.createConsumer(mQueue, "JMSMessageID='" + jmsId + "'");
Message inMessage = messageConsumer.receive(1000);// inMessage value is null always
}
示例 JmsId 值为
jmsId ="ID:789aba4c22aebc7c99974c06110a134f0000000000000001 ";