我正在使用jms队列,Connection正在使用jms队列正确创建,但是当从JMS队列开始读取消息时,第一次没有读取任何消息但是在第二次尝试(在循环第二次迭代中)消息将被检索。 示例:在下面代码中显示的i = 1上,如果(message instanceof TextMessage)返回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);
}
}
答案 0 :(得分:0)
请增加等待时间,因为有一段时间由于网络延迟而无法读取消息,例如: message =(TextMessage)consumer.receive(1000); 将等待时间从100增加到1000,问题现在解决了。