JMS队列消息读取错误

时间:2014-03-03 08:42:52

标签: jms

我正在使用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);
            }
        }

1 个答案:

答案 0 :(得分:0)

请增加等待时间,因为有一段时间由于网络延迟而无法读取消息,例如:  message =(TextMessage)consumer.receive(1000); 将等待时间从100增加到1000,问题现在解决了。