Hello. We observed a strange behavior on our JMS connections that we manage using a PAX JMS factory. Connections used by Camel consumers, with or without activity, seem to be closed after 30 minutes. A tcpdump on the karaf side shows that a connection with a consumer has its InactivityMonitor that sends a "KeepAliveInfo" every 10 seconds, but ends after 30 minutes with 2 "RemoveInfo" (probably closing the consumer and the session) and "ShutdownInfo" (probably closing the connection itself). This happens when no real traffic is done on the queue, but also when messages are sent and consumed every minute.
Here are the logs that show the Camel consumer that detects the close connection every 30 minutes : 2023-07-13T10:32:46,824 | WARN | Camel (appvte002-f027_context) thread #50 - JmsConsumer[appvte002-f027.internal.queue] | DefaultJmsMessageListenerContainer | 222 - org.apache.servicemix.bundles.spring-jms - 5.3.23.1 | | Setup of JMS message listener invoker failed for destination 'appvte002-f027.internal.queue' - trying to recover. Cause: The Session is closed 2023-07-13T11:02:47,422 | WARN | Camel (appvte002-f027_context) thread #51 - JmsConsumer[appvte002-f027.internal.queue] | DefaultJmsMessageListenerContainer | 222 - org.apache.servicemix.bundles.spring-jms - 5.3.23.1 | | Setup of JMS message listener invoker failed for destination 'appvte002-f027.internal.queue' - trying to recover. Cause: The Consumer is closed 2023-07-13T11:32:47,982 | WARN | Camel (appvte002-f027_context) thread #52 - JmsConsumer[appvte002-f027.internal.queue] | DefaultJmsMessageListenerContainer | 222 - org.apache.servicemix.bundles.spring-jms - 5.3.23.1 | | Setup of JMS message listener invoker failed for destination 'appvte002-f027.internal.queue' - trying to recover. Cause: The Consumer is closed 2023-07-13T12:02:48,595 | WARN | Camel (appvte002-f027_context) thread #53 - JmsConsumer[appvte002-f027.internal.queue] | DefaultJmsMessageListenerContainer | 222 - org.apache.servicemix.bundles.spring-jms - 5.3.23.1 | | Setup of JMS message listener invoker failed for destination 'appvte002-f027.internal.queue' - trying to recover. Cause: The Consumer is closed Here is our PAX configuration : # Connection configuration type=activemq connectionFactoryType=ConnectionFactory # Names name=alice-jms osgi.jndi.service.name=jms/alice # Connection factory properties #jms.url=failover:(tcp://mq1:61616,tcp://mq2:61616) jms.url=tcp://mq1:61616 jms.user=karaf jms.password=karaf jms.clientIDPrefix=CATERPILLAR # Set XA transaction xa=false # Connection pooling pool=pooledjms # Maximum number of connections for each user+password (default 1) pool.maxConnections=256 Do you know if the PAX connection factory, with the given pooling option, may be at the origin of such connection closing ? I don't see why the Camel endpoint could close its own consumer... If this is a PAX behavior, what option should be set to avoid it ? Thanks for your help. Regards.
