We have *activeMQ broker (5.10.2)* running embedded in *TomEE (1.7.2)* and
JMS clients connects to activeMQ broker using https protocol. After some
minutes of inactivity JMS client throws javax.jms.JMSException: - 



javax.jms.JMSException: Channel was inactive for too (>30000) long:
*https://<reverse_proxy_host>:<RP_port>*
at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54)
at
org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1998)
at
org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:2017)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101)
at
org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:126)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101)
at
org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:314)
at
org.apache.activemq.transport.AbstractInactivityMonitor$4.run(AbstractInactivityMonitor.java:215)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

and 

javax.jms.JMSException: Could not post command: KeepAliveInfo {} due to:
java.net.SocketTimeoutException: Read timed out
                at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:54)
                at
org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1998)
                at
org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:2017)
                at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101)
                at
org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:126)
                at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101)
                at
org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:314)
                at
org.apache.activemq.transport.AbstractInactivityMonitor$3.run(AbstractInactivityMonitor.java:173)
                at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)

We tried to deactivate *'JMS Inactivity Monitor' * using  property
*'wireFormat.maxInactivityDuration=0'* set in activeMQ connection URL as
suggested in  https://activemq.apache.org/activemq-inactivitymonitor.html
<https://activemq.apache.org/activemq-inactivitymonitor.html>  

However it throws  following exception after setting
*'wireFormat.maxInactivityDuration=0*' in JMS HTTPS URL 

=== Exception Traceback ===
javax.jms.JMSException: Could not create Transport. Reason:
java.lang.IllegalArgumentException: Invalid connect parameters:
{wireFormat.maxInactivityDuration=0}
        at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:36)
        at
org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:317)
        at
org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:330)
        at
org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:251)
        at 
com.engineous.common.jms.JMSUtil.createJMSConnection(JMSUtil.java:317)

*How to fix above JMS channel inactive issue? How to set
*transport.useKeepAlive=true* in http/https protocol*





--
Sent from: http://tomee-openejb.979440.n4.nabble.com/TomEE-Dev-f982480.html

Reply via email to