You may be suffering from ARTEMIS-3587 [1]. I recommend you move to 2.20.0.
Justin [1] https://issues.apache.org/jira/browse/ARTEMIS-3587 On Wed, Jan 26, 2022 at 10:48 PM Greg Kopff <g...@q10stats.com> wrote: > 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 > >