Good day -

I have an ActiveMQ 5.7.0.fuse-71-047 server setup with this in its
at-broker-context.xml
(main configuration file) :

 <transportConnectors>
    <transportConnector
uri="tcp://localhost:${my_apps_broker_port_property}?jms.prefetchPolicy.all=1;transport.useInactivityMonitor=false;wireFormat.maxInactivityDuration=0;"/>
  </transportConnectors>

Yet still  when clients connect to the broker, they end up using a
non-zero timeout :
2015-07-14 13:48:27,563 [ActiveMQ InactivityMonitor Worker] WARN
broker.TransportConnection.Transport  - Transport Connection to:
tcp://127.0.0.1:43475 failed:
org.apache.activemq.transport.InactivityIOException: Channel was
inactive for too (>30000) long: tcp://127.0.0.1:43475

Unfortunately, I cannot set any ActiveMQ specific connection
properties on the client side,
as the clients are using the plain JMS library (javax:jms:1.1-SP1) to
get a connection.

But the ActiveMQ documentation suggests that if the server has disabled the
InactivityMonitor, then clients should be unable to negotiate a
non-zero timeout :

http://activemq.apache.org/activemq-inactivitymonitor.html says:
<quote>
...
transport.useInactivityMonitor  true    A value of false disables the
InactivityMonitor completely and connections will never time out. By
default it is enabled.
...
At startup the InactivityMonitor negotiates the appropriate
maxInactivityDuration and maxInactivityDurationInitalDelay. The
shortest duration is taken for the connection.
...
Setting transport.useInactivityMonitor=false will disable the
InactivityMonitor. Configuring wireFormat.maxInactivityDuration=0 will
achieve the same result.
</quote>

None of the statements made in the documentation appear to be true in my case.

I am now looking at producing a patched version of
ActiveMQ-5.7.0.fuse-71-047 that completely removes and disables the
InactivityMonitor because of this issue.

Would anyone have any suggestions as to how the InactivityMonitor
might be disabled
in the SERVER configuration with ActiveMQ 5.7.0 ?  Changing ActiveMQ version
is not an option.

Thanks & Regards,
Jason

Reply via email to