-
1. Re: Which thread pool services SLSB requests in AS?
ron_sigal Oct 2, 2008 3:50 PM (in response to justinwalsh)Hi Justin,
You're in the right forum - the ServerThread you're looking at is an org.jboss.remoting.transport.socket.ServerThread, and the pool of ServerThreads is configured in the org.jboss.remoting.transport.socket.SocketServerInvoker that services EJB3s. The configuration is found in file $JBOSS_HOME/server/$CONFIG/deploy/ejb3.deployer/META-INF/jboss-service.xml, in particular, the lines<mbean code="org.jboss.remoting.transport.Connector" name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3"> <depends>jboss.aop:service=AspectDeployer</depends> <attribute name="InvokerLocator">socket://${jboss.bind.address}:3873</attribute> <attribute name="Configuration"> <handlers> <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler> </handlers> </attribute> </mbean>
If, for example, you want to increase the number of worker threads, append the "maxPoolSize" parameter to the InvokerLocator attribute:<attribute name="InvokerLocator">socket://${jboss.bind.address}:3873/?maxPoolSize=500</attribute>
For more information, see the Remoting Guide (http://www.jboss.org/jbossremoting/docs/guide/2.2/html/index.html), particularly Section 5.4.5. "Socket Invoker".
-Ron -
2. Re: Which thread pool services SLSB requests in AS?
justinwalsh Oct 3, 2008 7:42 AM (in response to justinwalsh)Hi Ron,
Thanks for your reply - appreciate it.
I probably should have mentioned that I'm using 2.1 EJBs and not EJB3. So I assume that the the equivalent of the $JBOSS_HOME/server/$CONFIG/deploy/ejb3.deployer/META-INF/jboss-service.xml is $JBOSS_HOME/server/$CONFIG/deploy/ejb-deployer.xml file
Problem is that I don't see any invokers defined in this file.
Digging a little deeper, on the jmx-console in the jboss.remoting domain I have:* dataType=invocation,enableTcpNoDelay=true,host=10.0.0.85,marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller,port=4446,service=invoker,socketTimeout=600000,transport= socket,unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller * handler=ejb3,name=DefaultEjb3Connector,type=Connector * host=10.0.0.85,port=3873,service=invoker,transport=socket * service=Connector,transport=socket * service=NetworkRegistry
Is this invoker the one that I am after?service=Connector,transport=socket
Which is defined (and configured) as follows in jboss-service.xml<mbean code="org.jboss.remoting.transport.Connector" name="jboss.remoting:service=Connector,transport=socket" display-name="Socket transport Connector"> ... <!--<attribute name="maxPoolSize">303</attribute> --> ... </mbean>
Which I can configure by un-commenting (and customising) the above maxPoolSize setting. If so, any idea what the default is?
Thanks,
Justin -
3. Re: Which thread pool services SLSB requests in AS?
ron_sigal Oct 3, 2008 2:01 PM (in response to justinwalsh)Hey Justin,
"justinwalsh" wrote:
So I assume that the the equivalent of the $JBOSS_HOME/server/$CONFIG/deploy/ejb3.deployer/META-INF/jboss-service.xml is $JBOSS_HOME/server/$CONFIG/deploy/ejb-deployer.xml file
Good guess, but as you know, nothing is ever that simple. :)
Actually, 2.x EJBs are part of the older, somewhat more monolithic structure of the Application Server, whereas EJB3s are just another component. Consequently, the 2.x EJB transport is configured in $JBOSS_HOME/server/$CONFIG/conf/jboss-service.xml in the "jboss.remoting:service=Connector,transport=socket" MBean, as you correctly guessed.
The default value for "maxPoolSize" is 300.
-Ron -
4. Re: Which thread pool services SLSB requests in AS?
justinwalsh Oct 14, 2008 1:39 AM (in response to justinwalsh)Thanks Ron, much appreciated