We are currently running ActiveMQ version 5.15.3 for our broker within a Docker container. The ActiveMQ client version was just upgraded to 5.15.10, but we were experiencing the issue prior to the upgrade when our client was running version 5.6.
We are constantly experiencing communication failures between the client and the broker resulting in Exceptions in our client log files showing: *Timer already cancelled* The only way to resolve the issue is to restart the broker. There is no error occurring in the broker's log file. If anything it appears that there is no activity in the broker's log file at all. Restarting the broker does resolve the issue but this is constantly occurring in our environments. I've researched the issue and found the following link: https://issues.apache.org/jira/browse/AMQ-5251 which states that the issue was resolved in versions 5.10.1 <https://issues.apache.org/jira/issues/?jql=project+%3D+AMQ+AND+fixVersion+%3D+5.10.1> , 5.11.0 <https://issues.apache.org/jira/issues/?jql=project+%3D+AMQ+AND+fixVersion+%3D+5.11.0>. However, we are still experiencing the same issue. Is there any way to identify this issue or a way to work around it? Thanks for the assistance... Chris Caused by: javax.jms.JMSException: Timer already cancelled. at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1362) at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1290) at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1785) at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:277) at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:212) at org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:74) at org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:59) at veeva.ecm.common.infrastructure.util.queue.impl.DurableVeevaObjectQueue.sendMessage(DurableVeevaObjectQueue.java:367) at veeva.ecm.common.infrastructure.util.queue.impl.DurableVeevaObjectQueue.lambda$0(DurableVeevaObjectQueue.java:270) ... 281 more Caused by: java.lang.IllegalStateException: Timer already cancelled. at java.util.Timer.sched(Timer.java:397) at java.util.Timer.schedule(Timer.java:248) at org.apache.activemq.thread.Scheduler.executePeriodically(Scheduler.java:49) at org.apache.activemq.broker.region.Queue.start(Queue.java:993) at org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:161) at org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:339) at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174) at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174) at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174) at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174) at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174) at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:454) at org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:293) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154) at org.apache.activemq.broker.scheduler.SchedulerBroker.send(SchedulerBroker.java:312) at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96) at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:293) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154) at org.apache.activemq.plugin.StatisticsBroker.send(StatisticsBroker.java:203) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154) at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:572) at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:330) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:194) at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:125) at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:301) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:233) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)