[jboss-user] [Remoting] - Re: JBREM-877: New Socket Connection is being Created for Ev

Dave Schneider do-not-reply at jboss.com
Sat Feb 14 10:41:00 EST 2009

The problem described in this thread would seem to be what we're experiencing, though it's with the HTTP transport used by JBoss Message 1.4.0.SP3.  The remoting version on both our server and client is "JBossRemoting Version 2.2.2.SP4 (Bluto)", which we're running under JBoss AS 4.2.2.

Assuming I can get the clients upgraded to the later version of the remoting jar, I'm still a bit confused about where exactly I would set the invokerDestructionDelay.  In this case it would seem to be in the JMS server's deploy/jboss-messaging.sar/remoting-http-service.xml file as that's what appears to control how the JMS client's listeners connect back to the server.  That file currently has this content:

  |    <mbean code="org.jboss.remoting.transport.Connector"
  |           name="jboss.messaging:service=Connector,transport=http"
  |           display-name="HTTP Transport Connector">
  |       <attribute name="Configuration">
  |          <config>
  |             <invoker transport="http">
  |                <!-- 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="serverBindAddress">${jboss.bind.address}</attribute>
  |                <attribute name="serverBindPort">4460</attribute>
  |                <attribute name="callbackStore">org.jboss.remoting.callback.BlockingCallbackStore</attribute>
  |                <!-- End immutable parameters -->
  |                <!-- The period for polling for messages on the server -->
  |                <!-- attribute name="callbackPollPeriod" isParam="true">102</attribute -->
  |                <attribute name="callbackPollPeriod" isParam="true">5003</attribute>
  |                <!-- The period of sending pings to the server -->
  |                <attribute name="clientLeasePeriod" isParam="true">10000</attribute>
  |             </invoker>
  |             <handlers>
  |                <handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
  |             </handlers>
  |          </config>
  |       </attribute>
  |    </mbean>
  | </server>

So my guess is that I'd just add the following additional attribute:

<attribute name="invokerDestructionDelay">6000</attribute>

Could someone confirm this is the correct approach?

What also has me confused is that I've already upped the callbackPollPeriod attribute from its default of 102 (ms) to 5003, so I would be expecting connections from the clients only every 5 seconds or so.  But what I'm actually seeing is a steady stream of very short-lived socket connections, which results in anywhere from 3-10 ESTABLISHED connections with hundreds in TIME_WAIT just from a single client even when the queue is empty and there's nothing to read.  Is there a reason why the poll period of 5 seconds didn't reduce the frequency of the connections?


View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4210141#4210141

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4210141

More information about the jboss-user mailing list