我运行一个带有两个队列的 ActiveMQ 5.5.1 代理。客户端产生消息(从许多小到一些显着大小)并将它们放入队列 1,消费者从队列中以他们的速度从队列中提取消息(消息预取 = 0)。消息在事务中发送。消费者然后计算一些东西,并在他们完成计算后将答案消息放入队列 2。客户端从该队列中获取应答消息。
持久性是通过 kahaDB 实现的。生产者流量控制已启用,但未达到内存限制。
这工作正常,吞吐量似乎也不是问题。
但是,有时我会在代理上看到以下两个异常。谁能给我一个暗示他们可能是什么意思?我在 ActiveMQ 文档或 Google 中也找不到任何有用的东西。
非常感谢,杰耶夫
WARN [ActiveMQ Transport: tcp:///140.39.12.159:40323] (TransportConnection.java:290) - org.apache.activemq.broker.TransportConnection.Service 发生异步错误:java.lang.IllegalArgumentException:subscr iption 不存在:ID:XYZ:28807:2:1 java.lang.IllegalArgumentException:订阅不存在:ID:XYZ:28807:2:1 在 org.apache.activemq.broker.region.AbstractRegion.messagePull(AbstractRegion.java:389) 在 org.apache.activemq.broker.region.RegionBroker.messagePull(RegionBroker.java:557) 在 org.apache.activemq.broker.BrokerFilter.messagePull(BrokerFilter.java:81) 在 org.apache.activemq.broker.BrokerFilter.messagePull(BrokerFilter.java:81) 在 org.apache.activemq.broker.BrokerFilter.messagePull(BrokerFilter.java:81) 在 org.apache.activemq.broker.MutableBrokerFilter.messagePull(MutableBrokerFilter.java:245) 在 org.apache.activemq.broker.TransportConnection.processMessagePull(TransportConnection.java:470) 在 org.apache.activemq.command.MessagePull.visit(MessagePull.java:43) 在 org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306) 在 org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179) 在 org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69) 在 org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) 在 org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227) 在 org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) 在 org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220) 在 org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202) 在 java.lang.Thread.run(Thread.java:662)
和
WARN [ActiveMQ Transport: tcp:///140.39.12.159:45179] (TransportConnection.java:290) - org.apache.activemq.broker.TransportConnection.Service 发生异步错误:java.lang.IllegalStateException:无法从未注册的连接:ID:XYZ:31449 java.lang.IllegalStateException:无法从尚未注册的连接中查找使用者:ID:XYZ:31449 在 org.apache.activemq.broker.SingleTransportConnectionStateRegister.lookupConnectionState(SingleTransportConnectionStateRegister.java:83) 在 org.apache.activemq.broker.TransportConnection.lookupConnectionState(TransportConnection.java:1423) 在 org.apache.activemq.broker.TransportConnection.processMessagePull(TransportConnection.java:470) 在 org.apache.activemq.command.MessagePull.visit(MessagePull.java:43) 在 org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306) 在 org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179) 在 org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69) 在 org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) 在 org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227) 在 org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) 在 org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220) 在 org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202) 在 java.lang.Thread.run(Thread.java:662)