从ActiveMQ引发奇怪的异常

从ActiveMQ引发奇怪的异常,activemq,Activemq,我们刚刚在发送消息的调用过程中观察到非常奇怪的异常,堆栈跟踪如下所示: - unable to send message - Implement me. @ root cause @ := javax.jms.JMSException: Implement me. ...@ root cause trace := @ javax.jms.JMSException: Implement me. at org.apache.activemq.util.JMSExceptionSupp

我们刚刚在发送消息的调用过程中观察到非常奇怪的异常,堆栈跟踪如下所示:

- unable to send message - Implement me. @ root cause @ := javax.jms.JMSException: Implement me.
        ...@ root cause trace := @
javax.jms.JMSException: Implement me.
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1377)
at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1305)
at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1795)
at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:277)
at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:212)
at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:300)
at org.apache.activemq.ActiveMQQueueSender.send(ActiveMQQueueSender.java:111)
......
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: Implement me.
at org.fusesource.mq.leveldb.LevelDBStore.getLastProducerSequenceId(LevelDBStore.scala:367)
at org.apache.activemq.broker.TransportConnection.getProducerBrokerExchange(TransportConnection.java:1344)
at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:451)
at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292)
at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:150)
at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:229)
at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
at org.apache.activemq.transport.nio.NIOTransport.serviceRead(NIOTransport.java:138)
at org.apache.activemq.transport.nio.NIOTransport$1.onSelect(NIOTransport.java:69)
at org.apache.activemq.transport.nio.SelectorSelection.onSelect(SelectorSelection.java:94)
at org.apache.activemq.transport.nio.SelectorWorker$1.run(SelectorWorker.java:119)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
... 1 more
它不是第一次发生的,我的意思是,它会在运行时成功地发送消息,但在某些时候,它只是因为这些错误而失败


有人能告诉我这是什么原因吗?还是一些提示

这似乎是由于LevelDB存储中的某个问题造成的。该商店是新的,预计会有问题。通过更改activemq.xml,您可以切换到更旧、更健壮的存储。如果您可以提供一个可复制的测试用例,那么最好的办法就是在ActiveMQ站点上打开一个Jira问题

我只是观察了更多,发现在重新连接(我配置了故障转移重新连接)之后,在发送消息时会出现异常。你是对的,在切换到kahadb后,异常消失了。