无法将消息发送回同步队列中(计时器已取消)

时间:2020-06-12 11:03:56

标签: jms activemq

我们正在使用单个经纪人ActiveMQ(5.10.2)。在由于使用速度慢而导致一些问题之后,我们不得不重新启动ActiveMQ。

自从重新启动它以来,我们在代理端具有以下警告日志:

2020-06-12 10:40:20,232 | WARN  | Failed to register MBean org.apache.activemq:type=Broker,brokerName=customer-prod,destinationType=Queue,destinationName=PROD.CORE.GET.Q.REPLY | org.apache.activemq.broker.jmx.ManagedRegionBroker | ActiveMQ Transport: tcp:///ip:53068@61616

通常,我们在队列 PROD.CORE.GET 上同步发送消息,而JMS使用者(通过 HTTP 连接)将响应发送回队列 PROD.CORE.GET.Q.REPLY

JMS使用者做出响应后,我们将收到以下错误消息,并且该响应永远不会发送到代理:

2020-06-12 08:29:54,802 [WARN ]  [] - Execution of JMS message listener failed. Caused by: [org.apache.camel.RuntimeCamelException - org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is javax.jms.JMSException: Timer already cancelled.]
org.apache.camel.RuntimeCamelException: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is javax.jms.JMSException: Timer already cancelled.
        at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1826) ~[camel-core-2.24.1.jar:2.24.1]
        at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:134) ~[camel-jms-2.24.1.jar:2.24.1]
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736) ~[spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696) ~[spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674) ~[spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318) [spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257) [spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1190) [spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1180) [spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1077) [spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_60]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_60]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
Caused by: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is javax.jms.JMSException: Timer already cancelled.
        at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:311) ~[spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:185) ~[spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:507) ~[spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:556) ~[camel-jms-2.24.1.jar:2.24.1]
        at org.apache.camel.component.jms.EndpointMessageListener.sendReply(EndpointMessageListener.java:370) ~[camel-jms-2.24.1.jar:2.24.1]
        at org.apache.camel.component.jms.EndpointMessageListener$EndpointMessageListenerAsyncCallback.done(EndpointMessageListener.java:223) ~[camel-jms-2.24.1.jar:2.24.1]
        at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:117) ~[camel-jms-2.24.1.jar:2.24.1]
        ... 11 common frames omitted
Caused by: javax.jms.JMSException: Timer already cancelled.
        at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54) ~[activemq-client-5.15.10.jar:5.15.10]
        at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1403) ~[activemq-client-5.15.10.jar:5.15.10]
        at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1972) ~[activemq-client-5.15.10.jar:5.15.10]
        at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:288) ~[activemq-client-5.15.10.jar:5.15.10]
        at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:223) ~[activemq-client-5.15.10.jar:5.15.10]
        at org.apache.activemq.jms.pool.PooledProducer.send(PooledProducer.java:95) ~[activemq-jms-pool-5.15.10.jar:5.15.10]
        at org.apache.activemq.jms.pool.PooledProducer.send(PooledProducer.java:66) ~[activemq-jms-pool-5.15.10.jar:5.15.10]
        at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:634) ~[spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:634) ~[camel-jms-2.24.1.jar:2.24.1]
        at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:573) ~[camel-jms-2.24.1.jar:2.24.1]
        at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:515) ~[camel-jms-2.24.1.jar:2.24.1]
        at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$4.doInJms(JmsConfiguration.java:558) ~[camel-jms-2.24.1.jar:2.24.1]
        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:504) ~[spring-jms-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        ... 15 common frames omitted
Caused by: java.lang.IllegalStateException: Timer already cancelled.
        at java.util.Timer.sched(Timer.java:397) ~[na:1.8.0_60]
        at java.util.Timer.schedule(Timer.java:248) ~[na:1.8.0_60]
        at org.apache.activemq.thread.Scheduler.executePeriodically(Scheduler.java:41) ~[activemq-client-5.15.10.jar:5.15.10]
        at org.apache.activemq.broker.region.Queue.start(Queue.java:1039) ~[na:na]
        at org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:141) ~[na:na]
        at org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:334) ~[na:na]
        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:172) ~[na:na]
        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:172) ~[na:na]
        at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:177) ~[na:na]
        at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:172) ~[na:na]
        at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:177) ~[na:na]
        at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:448) ~[na:na]
        at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:297) ~[na:na]
        at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96) ~[na:na]
        at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:307) ~[na:na]
        at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:157) ~[na:na]
        at org.apache.activemq.broker.util.TimeStampingBrokerPlugin.send(TimeStampingBrokerPlugin.java:131) ~[na:na]
        at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:152) ~[na:na]
        at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:157) ~[na:na]
        at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:541) ~[na:na]

由于迫切需要解决该问题,因此我们尝试再次重新启动ActiveMQ,并且该问题似乎已解决(以前的所有警告和错误日志均立即消失)。

我们想知道发生了什么,但是我在网上找不到任何相关的答案。这就是为什么我要寻求帮助! :)

谢谢。

0 个答案:

没有答案
相关问题