Jms 在HornetQ中未找到引用异常 我正在使用hornetq,有200个线程同时消费消息。有时我会遇到下面的异常,因为大黄蜂Q上的负载很大,下面的异常经常被触发。请告诉我如何解决这个问题

Jms 在HornetQ中未找到引用异常 我正在使用hornetq,有200个线程同时消费消息。有时我会遇到下面的异常,因为大黄蜂Q上的负载很大,下面的异常经常被触发。请告诉我如何解决这个问题,jms,hornetq,Jms,Hornetq,17:18:29622错误[org.hornetq.core.server]HQ224016:捕获的异常:HornetQException[errorType=非法_STATE message=HQ119027:找不到消费者ID=0、messageId=17179869184 queue=jms.queue.ExampleQueue]的引用 在org.hornetq.core.server.impl.ServerConsumerImpl.acknowledge(ServerConsumerImp

17:18:29622错误[org.hornetq.core.server]HQ224016:捕获的异常:HornetQException[errorType=非法_STATE message=HQ119027:找不到消费者ID=0、messageId=17179869184 queue=jms.queue.ExampleQueue]的引用 在org.hornetq.core.server.impl.ServerConsumerImpl.acknowledge(ServerConsumerImpl.java:704)[hornetq server.jar:] 在org.hornetq.core.server.impl.ServerSessionImpl.acknowledge(ServerSessionImpl.java:634)[hornetq server.jar:] 位于org.hornetq.core.protocol.core.ServerSessionPacketHandler.handlePacket(ServerSessionPacketHandler.java:274)[hornetq server.jar:] 在org.hornetq.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:631)[hornetq-core-client.jar:] 在org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:547)[hornetq-core-client.jar:] 在org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:523)[hornetq core client.jar:] 位于org.hornetq.core.remoting.server.impl.remotingserviceinpl$DelegatingBufferHandler.bufferReceived(remotingserviceinpl.java:564)[hornetq server.jar:] 在org.hornetq.core.remoting.impl.netty.HornetQChannelHandler.messageReceived(HornetQChannelHandler.java:72)[hornetq core client.jar:] 在org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:88)[jboss mc.jar:] 在org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)[jboss mc.jar:] 在org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:787)[jboss mc.jar:] 在org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:281)[jboss mc.jar:] 在org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.decode(HornetQFrameDecoder2.java:169)[hornetq core client.jar:] 在org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.messageReceived(HornetQFrameDecoder2.java:134)[hornetq core client.jar:] 在org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)[jboss mc.jar:] 在org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)[jboss mc.jar:] 在org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:555)[jboss mc.jar:] 在org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)[jboss mc.jar:] 在org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)[jboss mc.jar:] 在org.jboss.netty.channel.socket.oio.OioWorker.process(OioWorker.java:71)[jboss mc.jar:] 在org.jboss.netty.channel.socket.oio.AbstractOioWorker.run(AbstractOioWorker.java:73)[jboss mc.jar:] 在org.jboss.netty.channel.socket.oio.OioWorker.run(OioWorker.java:51)[jboss mc.jar:] 在org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)[jboss mc.jar:] 在org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)[jboss mc.jar:] 在org.jboss.netty.util.VirtualExecutorService$childexecutorunable.run(VirtualExecutorService.java:175)[jboss mc.jar:] 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[rt.jar:1.7.040] 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[rt.jar:1.7.040]
在java.lang.Thread.run(Thread.java:724)[rt.jar:1.7.0\u 40]

您使用的是什么版本

这可能是由您的客户端消息引起的。请确认两次。。。或者如果您滥用了会话边界。会话应该属于线程。(包括在会话中创建的对象(使用者、生产者等)


您可以切换线程。但您必须保留一个会话线程。

因为我正在为每个线程创建新的会话对象。我仍然收到此错误??请建议我如何使用java.concurrent with hornetq。谢谢。有关im在消费消息时使用自动确认的更多信息。在自动确认模式下可以发送两次ack??