Detection failure delay for JMS bisocket connection
slimamar Mar 19, 2010 6:34 AMHi,
We have the same JBoss server (JBAS5.1.0GA) running on two different networks and a JMS client.
When the server is running on one network and if ethernet cable is pulled at the client side the
failure detection has made approximately 90 seconds after :
javax.jms.JMSException: Failure on underlying remoting connection
at org.jboss.jms.client.remoting.ConsolidatedRemotingConnectionListener.handleConnectionException(ConsolidatedRemotingConnectionListener.java:102)
at org.jboss.remoting.ConnectionValidator$1.run(ConnectionValidator.java:744)
If the server is running on the other network the failure detection has made approximately 5 seconds after.
Why is it different, it's the same server (same configuration) and the same JMS client.
Here is the content of the remoting-bisocket-service.xml file :
<mbean code="org.jboss.remoting.transport.Connector"
name="jboss.messaging:service=Connector,transport=bisocket"
display-name="Bisocket Transport Connector">
<attribute name="Configuration">
<config>
<invoker transport="bisocket">
<!-- There should be no reason to change these parameters - warning!
Changing them may stop JBoss Messaging working correctly -->
<attribute name="marshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
<attribute name="unmarshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
<attribute name="dataType" isParam="true">jms</attribute>
<attribute name="socket.check_connection" isParam="true">false</attribute>
<attribute name="serverBindAddress">${jboss.bind.address}</attribute>
<attribute name="serverBindPort">${jboss.messaging.connector.bisocket.port:4457}</attribute>
<attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
<attribute name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
<attribute name="numberOfCallRetries" isParam="true">1</attribute>
<attribute name="pingFrequency" isParam="true">214748364</attribute>
<attribute name="pingWindowFactor" isParam="true">10</attribute>
<attribute name="onewayThreadPool">org.jboss.jms.server.remoting.DirectThreadPool</attribute>
<!-- End immutable parameters -->
<attribute name="stopLeaseOnFailure" isParam="true">true</attribute>
<!-- Periodicity of client pings. Server window by default is twice this figure -->
<attribute name="clientLeasePeriod" isParam="true">10000</attribute>
<attribute name="validatorPingPeriod" isParam="true">60000</attribute>
<attribute name="validatorPingTimeout" isParam="true">30000</attribute>
<attribute name="registerCallbackListener">false</attribute>
<!-- Temps max d'attente lors d'un appel cote client (ms) -->
<attribute name="timeout" isParam="true">0</attribute>
<!-- Temps max d'inactivite avant fermeture automatique d'une connexion cote client (ms) -->
<attribute name="invokerDestructionDelay" isParam="true">28800000</attribute>
<!-- Number of seconds to wait for a connection in the client pool to become free -->
<attribute name="connectionWait" isParam="true">60</attribute>
<!-- Max Number of connections in client pool. This should be significantly higher than
the max number of sessions/consumers you expect -->
<attribute name="JBM_clientMaxPoolSize" isParam="true">10</attribute>
<!-- The maximum time to wait before timing out on trying to write a message to socket for delivery -->
<attribute name="callbackTimeout">10000</attribute>
<!-- Use these parameters to specify values for binding and connecting control connections to
work with your firewall/NAT configuration
<attribute name="secondaryBindPort">xyz</attribute>
<attribute name="secondaryConnectPort">abc</attribute>
-->
<!-- Ceci permet de fixer le port pour la connection de controle -->
<attribute name="secondaryBindPort">4458</attribute>
</invoker>
<handlers>
<handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
</handlers>
</config>
</attribute>
</mbean>
Thanks in advance.