我正在使用jms队列,使用jms队列正确创建连接,但是当开始从JMS队列读取消息时,第一次没有读取任何消息,但是在第二次尝试(循环第二次迭代)时将检索消息。示例:在下面的代码中显示的 i=1 上,if(文本消息的消息实例)返回 false,但在 i=2 返回 ture,我们能够读取消息。
for (int i = 1; i <= 6; i++) {
message = (TextMessage) consumer.receive(100);
if (message instanceof TextMessage) {
messageProcessed++;
String msgValue = (String) message.getText();
System.out.println(msgValue);
XMLDomFromString(msgValue);
}
}
请增加等待时间,因为由于网络延迟,您可能无法阅读消息,例如: message = (TextMessage) consumer.receive(1000);将等待时间从 100 增加到 1000,问题现在得到解决。