我正在使用ActiveMQ v5.10。
在我的日志中无法理解异常的根本原因。
[20141116 13:07:30.288 EDT (ActiveMQ Broker[broker] Scheduler) org.apache.activemq.broker.region.Topic#doBrowse 615 WARN] - Failed to browse Topic: cometd.
ProxyPush
java.io.EOFException: Chunk stream does not exist, page: 34 is marked free
at org.apache.activemq.store.kahadb.disk.page.Transaction$2.readPage(Transaction.java:470)
at org.apache.activemq.store.kahadb.disk.page.Transaction$2.<init>(Transaction.java:447)
at org.apache.activemq.store.kahadb.disk.page.Transaction.openInputStream(Transaction.java:444)
at org.apache.activemq.store.kahadb.disk.page.Transaction.load(Transaction.java:420)
at org.apache.activemq.store.kahadb.disk.page.Transaction.load(Transaction.java:377)
at org.apache.activemq.store.kahadb.disk.index.BTreeIndex.loadNode(BTreeIndex.java:262)
at org.apache.activemq.store.kahadb.disk.index.BTreeIndex.getRoot(BTreeIndex.java:174)
at org.apache.activemq.store.kahadb.disk.index.BTreeIndex.iterator(BTreeIndex.java:232)
at org.apache.activemq.store.kahadb.MessageDatabase$MessageOrderIndex$MessageOrderIterator.<init>(MessageDatabase.java:2757)
at org.apache.activemq.store.kahadb.MessageDatabase$MessageOrderIndex.iterator(MessageDatabase.java:2739)
at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$3.execute(KahaDBStore.java:526)
at org.apache.activemq.store.kahadb.disk.page.Transaction.execute(Transaction.java:779)
at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recover(KahaDBStore.java:522)
at org.apache.activemq.store.ProxyTopicMessageStore.recover(ProxyTopicMessageStore.java:62)
at org.apache.activemq.store.ProxyTopicMessageStore.recover(ProxyTopicMessageStore.java:62)
at org.apache.activemq.broker.region.Topic.doBrowse(Topic.java:578)
at org.apache.activemq.broker.region.Topic.access$100(Topic.java:65)
at org.apache.activemq.broker.region.Topic$6.run(Topic.java:703)
at org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
虽然这个例外很少发生并且有时会发生,但我想知道它可能是什么原因。
请注意,经纪人和客户沟通没问题。客户端能够发送和接收有关该主题的消息,但异常会不断发生。此主题没有持久订阅者。在此主题上发送的消息是非持久性的。