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:
<server>
|
| <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?
Thanks,
Dave
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4210141#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...