Hi Community. I have an application that uses HornetQ (2.4.1.Final). It's a pretty simple setup (no HA) - it uses the HornetQ protocol (rather than JMS) and an embedded server. There are about a dozen clients, each in their own JVM, that talk to the server. It all works really well, and has done for over 5 years.
In order to move with the times, I decided to update the version of HornetQ we use, and that means migrating to Apache ActiveMQ (2.19.0). The process was very straightforward, and required very little code changes. It literally was a case of changing things like HornetQServer to ActiveMQServer. To give a rough idea of the configuration: final Configuration configuration = new ConfigurationImpl(); configuration.setPersistenceEnabled(false); configuration.setJournalDirectory(System.getProperty("java.io.tmpdir")); configuration.setCreateJournalDir(false); configuration.setSecurityEnabled(false); configuration.getAcceptorConfigurations().add(new TransportConfiguration(this.acceptor.getName())); configuration.setClusterUser("unused"); configuration.setClusterPassword("disabled"); // final HornetQServer server = HornetQServers.newHornetQServer(configuration); final ActiveMQServer server = ActiveMQServers.newActiveMQServer(configuration); server.start(); ... this.locator = ActiveMQClient.createServerLocatorWithoutHA( new TransportConfiguration("(a name)"); this.locator.setAckBatchSize(1); this.locator.setPreAcknowledge(true); this.locator.setReconnectAttempts(RETRY_FOREVER); this.locator.setCallTimeout(120_000); this.locator.setConnectionTTL(300_000); ... final QueueConfiguration qc = new QueueConfiguration(queueName); qc.setAddress("(a queue name)"); qc.setTemporary(true); qc.setDurable(false); this.session.createQueue(qc); None of this changed between using HornetQ and using ActiveMQ. Now, to the problem ... On the face of it, everything works perfectly. However, after a variable amount of time, I get the following: WARN : o.a.a.a.u.critical.CriticalMeasure: Component org.apache.activemq.artemis.core.server.impl.QueueImpl is expired on path 0 WARN : o.a.activemq.artemis.core.server: AMQ224081: The component QueueImpl[name=faff23f5-fdec-48d3-aad2-591c553b2bdf, postOffice=PostOfficeImpl [server=ActiveMQServerImpl::name=localhost], temp=true]@3b4d33ea is not responsive Even when this occurs, the application continues to behave correctly -- in other words, messages do appear to keep flowing on that queue. Also note that it's not the same queue that fails each time - and it's never more than one queue. As I understand it, the default timeout period is quite large (120 seconds, as per https://activemq.apache.org/components/artemis/documentation/latest/critical-analysis.html) -- and I can say that the application remains responsive during these times ... so my question to the list is then: why am I getting this expiry notification. If I can provide any further context to help further this discussion, please let me know. Thanks for your help. Kindest regards, -- Greg