Hi JB, I'm using the AUTO ack, but switching to CLIENT doesn't make any difference. How can I change the AMQ pool? From my understanding it should be the preferred way to use pooledjms.
This behavior sounds to me, that it may be be a ordering problem in my assembly. The broker should be shutdown after all cliens. Regards, Joerg -----Original Message----- From: Jean-Baptiste Onofre <j...@nanthrax.net> Sent: Freitag, 2. Juli 2021 09:52 To: user <user@karaf.apache.org> Subject: Re: Shutdown issue ActiveMq Hi, Did you try with another kind of pooler ? Like "native" ActiveMQ pool instead of wrapped pooledjms ? What kind of ack do you use in your Camel route ? AUTO (default) or CLIENT ? Regards JB > Le 2 juil. 2021 à 08:05, Jörg Jansen <joerg.jan...@inform-software.com> a > écrit : > > Hi everybody, > > I'm facing a problem with our JMS connection, when shutting down the karaf > container. > The JMS connectionFactory is provided/configured via ops4j-jms. > When shutting down karaf, I receive the message: "Caught exception trying > rollback() when putting session back into the pool, will invalidate. > javax.jms.IllegalStateException: The Session is closed". > > Does anybody have an idea how to fix it? > Seaching for a workaround brings up to set the idleTimeout to 0, but this has > no effect. > > The currently used versions are: > Karaf: 4.3.2 > ActiveMq: 5.16.0 > Camel: 3.7.4 > > Any help would be really appreciated. > > Additional details are available below. > > Thanks in advance, > Joerg > > > ******************************************************************** > Stacktrace > ******************************************************************** > 2021-07-02T07:46:30,260 | WARN | Camel (gs-os-connector) thread #22 - > JmsConsumer[AMQ.GSLISA.OS.BUFFERED-SPX] | JmsPoolSession | > 213 - org.messaginghub.pooled.jms - 1.2.1 | Caught exception trying > rollback() when putting session back into the pool, will invalidate. > javax.jms.IllegalStateException: The Session is closed > javax.jms.IllegalStateException: The Session is closed > at > org.apache.activemq.ActiveMQSession.checkClosed(ActiveMQSession.java:772) > ~[?:?] > at > org.apache.activemq.ActiveMQSession.rollback(ActiveMQSession.java:597) ~[?:?] > at > org.messaginghub.pooled.jms.JmsPoolSession.close(JmsPoolSession.java:112) > [!/:?] > at > org.springframework.jms.support.JmsUtils.closeSession(JmsUtils.java:109) > [!/:?] > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.clearResources(DefaultMessageListenerContainer.java:1289) > [!/:?] > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1135) > [!/:?] > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > [?:?] > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > [?:?] > at java.lang.Thread.run(Unknown Source) [?:?] > > > ******************************************************************** > Feature config > ******************************************************************** > <feature name="gs-lisa-activemq" version="${project.version}" > description="Provide JMS connection factory and ActiveMqBroker" > > <feature>jms</feature> <feature version="[4,5)">spring</feature> > <feature version="${activemq.version}">activemq-broker-noweb</feature> > <feature version="${activemq.version}">activemq-client</feature> > <feature > version="${ops4j.pax.jms.version}">pax-jms-pool-pooledjms</feature> > <feature > version="${ops4j.pax.jms.version}">pax-jms-activemq</feature> > <feature version="${camel.version}">camel-jms</feature> > > <config name="org.ops4j.connectionfactory-lisa-amq"> > name = lisa-amq > osgi.jndi.service.name = jms/lisa-amq > password = ${activemq.jms.password} > connectionFactoryType = ConnectionFactory > type = activemq > url = ${activemq.url} > user = ${activemq.jms.user} > > # hints for pax-jms-config to use selected > org.ops4j.pax.jms.service.PooledConnectionFactoryFactory > pool = pooledjms > xa = false > > # pooled-jms specific configuration of > org.messaginghub.pooled.jms.JmsPoolConnectionFactory > pool.idleTimeout = 10 > pool.maxConnections = 10 > pool.blockIfSessionPoolIsFull = true > pax.jms.managed = true > </config> > </feature> > >