只有几千条消息位于largemessages
目录下。它们没有交付,我认为是因为这个例外
我们正在使用嵌入式HornetQ版本2.4.1.Final
我发现了这些堆栈痕迹:
ERROR [Thread-9 (HornetQ-server-HornetQServerImpl::serverUUID=228d6abf-6f78-11e5-9476-ab4e397e2e52-1420470414)]: server - HQ224045: Failed to run large message deliverer
java.lang.UnsupportedOperationException
at java.nio.ByteBuffer.array(ByteBuffer.java:994)
at org.hornetq.core.server.impl.ServerConsumerImpl$LargeMessageDeliverer.deliver(ServerConsumerImpl.java:1090)
at org.hornetq.core.server.impl.ServerConsumerImpl$2.run(ServerConsumerImpl.java:969)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:104)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
和这一个:
2015-12-29 03:02:02,658 ERROR [Thread-1 (HornetQ-client-global-threads-2138527112)]: client - HQ124003: Message Listener failed to prepare message for receipt
HornetQLargeMessageException[errorType=LARGE_MESSAGE_ERROR_BODY message=HQ119028: Timeout waiting for LargeMessage Body]
at org.hornetq.core.client.impl.LargeMessageControllerImpl.waitCompletion(LargeMessageControllerImpl.java:372)
at org.hornetq.core.client.impl.LargeMessageControllerImpl.saveBuffer(LargeMessageControllerImpl.java:319)
at org.hornetq.core.client.impl.ClientLargeMessageImpl.checkBuffer(ClientLargeMessageImpl.java:186)
at org.hornetq.core.client.impl.ClientLargeMessageImpl.checkCompletion(ClientLargeMessageImpl.java:89)
at org.hornetq.jms.client.HornetQMessage.doBeforeReceive(HornetQMessage.java:968)
at org.hornetq.jms.client.HornetQTextMessage.doBeforeReceive(HornetQTextMessage.java:129)
at org.hornetq.jms.client.JMSMessageListenerWrapper.onMessage(JMSMessageListenerWrapper.java:79)
at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:1116)
at org.hornetq.core.client.impl.ClientConsumerImpl.access$500(ClientConsumerImpl.java:56)
at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1251)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:104)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
非常感谢帮助。