JBoss Community

JBoss WebServices and Invokers

created by Rohit Macherla in JBoss Web Services - View the full discussion

Hi all,

I need a little help in understanding how JBoss Invokers work. I am not sure I understood

whatever I've read, so please let me know when I am wrong.

 

I use JBoss 4.2.3 in my project and have JAX-WS webservices deployed in it (Consider one of

these as WebService A). These WebServices are POJO based ones and form WebService clients to

EJB based WebServices that my vendor offers (Consider one of these vendor WebServices V).

Hence, I have WebService to WebService calls within same JVM, i.e., the invocation flow is:
External system -> A -> V -> Database

 

When a new request comes in for A, where does the invoker come in ? I thought that the

internal WebService call from A to V uses the invoker as V is an EJB based WebService and I

have configured "Standard Stateless SessionBean" to use "stateless-rmi-invoker" which inturn

uses "jboss:service=invoker,type=pooled" (That was what I've configured in standardjboss.xml).

 

My jboss-service.xml for pooled invoker is:

 


<mbean code="org.jboss.invocation.pooled.server.PooledInvoker"
      name="jboss:service=invoker,type=pooled">
      <attribute name="NumAcceptThreads">5</attribute>
      <attribute name="MaxPoolSize">300</attribute>
      <attribute name="ClientMaxPoolSize">300</attribute>
      <attribute name="SocketTimeout">240000</attribute>
      <attribute name="ServerBindAddress">${jboss.bind.address}</attribute>
      <attribute name="ServerBindPort">4445</attribute>
      <attribute name="ClientConnectAddress">${jboss.bind.address}</attribute>
      <attribute name="ClientConnectPort">0</attribute>
      <attribute name="ClientRetryCount">1</attribute>
      <attribute name="EnableTcpNoDelay">false</attribute>


      <!-- Customized socket factory attributes
      <attribute name="ClientSocketFactoryName">custom.client.factory</attribute>
      <attribute name="ServerSocketFactoryName">custom.server.factory</attribute>
      <attribute name="SslDomain">java:/jaas/pooledInvoker</attribute>
      -->
      <depends 
optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>
   </mbean>

 

However, when I take a look at the threaddump (via the JMX console jboss.system:type=ServerInfo listThreadDump()), I don't find any PooledInvokerThread instances in the thread dump. Does that mean that I am not using pooled invokers ?

 

I am trying to see if there are any areas where I can tweak some parameters to improve the number of requests that JBoss can handle for my application. So, I just wanted to know if I am looking in the right areas.

 

Thanks.

Reply to this message by going to Community

Start a new discussion in JBoss Web Services at Community