<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
Re: WorkerThread exception occured .... InvocationTargetException / SocketTimeoutException
</h3>
<span style="margin-bottom: 10px;">
created by <a href="https://community.jboss.org/people/redCar">red Car</a> in <i>JBoss Remoting</i> - <a href="https://community.jboss.org/message/725850#725850">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Hallo,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>now we have tried to attach jboss to another network interface. We enabled a second network card with another ip. Then I started the jboss with -b <another IP>.</p><p>I wondered, that this do not help. I thought, Ports are unique to a network-card-ip.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Now I have installed the JBoss on another server where he can work alone. This works fine. But I'm looking for another solution. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Is there any possibility, to reduce the number of request-ports?</p><p>At the moment I am experimenting with pooled Invoker.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>In conf/standardjboss.xml I have changed the sections for stateless and statefull ejb:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table><tbody><tr><td style=";"></td><td style=";"><invoker-proxy-binding></td></tr><tr><td style=";">  </td><td style=";"><name>stateful-pooled-invoker</name></td></tr><tr><td style=";">  </td><td style=";"><invoker-mbean>jboss:service=invoker,type=pooled</invoker-mbean></td></tr><tr><td style=";">  </td><td style=";"><proxy-factory>org.jboss.proxy.ejb.ProxyFactory</proxy-factory></td></tr><tr><td style=";">  </td><td style=";"><proxy-factory-config></td></tr><tr><td style=";">    </td><td style=";"><client-interceptors></td></tr><tr><td style=";">      </td><td style=";"><home></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.SecurityInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.ejb.SecurityContextInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.TransactionInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor</interceptor></td></tr><tr><td style=";">      </td><td style=";"></home></td></tr><tr><td style=";">      </td><td style=";"><bean></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.ejb.StatefulSessionInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.SecurityInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.ejb.SecurityContextInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.TransactionInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor</interceptor></td></tr><tr><td style=";">      </td><td style=";"></bean></td></tr><tr><td style=";">    </td><td style=";"></client-interceptors></td></tr><tr><td style=";">  </td><td style=";"></proxy-factory-config></td></tr><tr><td style=";"></td><td style=";"></invoker-proxy-binding></td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table><tbody><tr><td style=";"></td><td style=";"><invoker-proxy-binding></td></tr><tr><td style=";">  </td><td style=";"><name>stateless-pooled-invoker</name></td></tr><tr><td style=";">  </td><td style=";"><invoker-mbean>jboss:service=invoker,type=pooled</invoker-mbean></td></tr><tr><td style=";">  </td><td style=";"><proxy-factory>org.jboss.proxy.ejb.ProxyFactory</proxy-factory></td></tr><tr><td style=";">  </td><td style=";"><proxy-factory-config></td></tr><tr><td style=";">    </td><td style=";"><client-interceptors></td></tr><tr><td style=";">      </td><td style=";"><home></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.SecurityInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.ejb.SecurityContextInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.TransactionInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor</interceptor></td></tr><tr><td style=";">      </td><td style=";"></home></td></tr><tr><td style=";">      </td><td style=";"><bean></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.ejb.StatelessSessionInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.SecurityInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.ejb.SecurityContextInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor>org.jboss.proxy.TransactionInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor call-by-value="false">org.jboss.invocation.InvokerInterceptor</interceptor></td></tr><tr><td style=";">        </td><td style=";"><interceptor call-by-value="true">org.jboss.invocation.MarshallingInvokerInterceptor</interceptor></td></tr><tr><td style=";">      </td><td style=";"></bean></td></tr><tr><td style=";">    </td><td style=";"></client-interceptors></td></tr><tr><td style=";">  </td><td style=";"></proxy-factory-config></td></tr><tr><td style=";"></td><td style=";"></invoker-proxy-binding></td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table><tbody><tr><td style=";"></td><td style=";"><container-configuration></td></tr><tr><td style=";">  </td><td style=";"><container-name>Standard Stateless SessionBean</container-name></td></tr><tr><td style=";">  </td><td style=";"><call-logging>false</call-logging></td></tr><tr><td style=";">  </td><td style=";"><invoker-proxy-binding-name>stateless-pooled-invoker</invoker-proxy-binding-name></td></tr><tr><td style=";">  </td><td style=";"><container-interceptors></td></tr><tr><td style=";">    </td><td style=";"><interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor>org.jboss.ejb.plugins.security.PreSecurityInterceptor</interceptor> </td></tr><tr><td style=";">    </td><td style=";"><interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><!-- CMT --></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Container">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Container">org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><!-- BMT --></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Bean">org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Bean">org.jboss.ejb.plugins.TxInterceptorBMT</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Bean">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor></td></tr><tr><td style=";">  </td><td style=";"></container-interceptors></td></tr><tr><td style=";">  </td><td style=";"><instance-pool>org.jboss.ejb.plugins.StatelessSessionInstancePool</instance-pool></td></tr><tr><td style=";">  </td><td style=";"><instance-cache></instance-cache></td></tr><tr><td style=";">  </td><td style=";"><persistence-manager></persistence-manager></td></tr><tr><td style=";">  </td><td style=";"><container-pool-conf></td></tr><tr><td style=";">    </td><td style=";"><MaximumSize>100</MaximumSize></td></tr><tr><td style=";">  </td><td style=";"></container-pool-conf></td></tr><tr><td style=";"></td><td style=";"></container-configuration></td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>and </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table><tbody><tr><td style=";"></td><td style=";"><container-configuration></td></tr><tr><td style=";">  </td><td style=";"><container-name>Standard Stateful SessionBean</container-name></td></tr><tr><td style=";">  </td><td style=";"><call-logging>false</call-logging></td></tr><tr><td style=";">  </td><td style=";"><!-- invoker-proxy-binding-name>stateful-unified-invoker</invoker-proxy-binding-name --></td></tr><tr><td style=";">  </td><td style=";"><invoker-proxy-binding-name>stateful-pooled-invoker</invoker-proxy-binding-name></td></tr><tr><td style=";">  </td><td style=";"><container-interceptors></td></tr><tr><td style=";">    </td><td style=";"><interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor>org.jboss.ejb.plugins.security.PreSecurityInterceptor</interceptor> </td></tr><tr><td style=";">    </td><td style=";"><!-- CMT --></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Container">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Container">org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><!-- BMT --></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Bean">org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Bean">org.jboss.ejb.plugins.TxInterceptorBMT</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor transaction="Bean">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor></td></tr><tr><td style=";">    </td><td style=";"><interceptor>org.jboss.ejb.plugins.StatefulSessionSecurityInterceptor</interceptor></td></tr><tr><td style=";">  </td><td style=";"></container-interceptors></td></tr><tr><td style=";">  </td><td style=";"><instance-cache>org.jboss.ejb.plugins.StatefulSessionInstanceCache</instance-cache></td></tr><tr><td style=";">  </td><td style=";"><persistence-manager>org.jboss.ejb.plugins.StatefulSessionFilePersistenceManager</persistence-manager></td></tr><tr><td style=";">  </td><td style=";"><container-cache-conf></td></tr><tr><td style=";">    </td><td style=";"><cache-policy>org.jboss.ejb.plugins.LRUStatefulContextCachePolicy</cache-policy></td></tr><tr><td style=";">    </td><td style=";"><cache-policy-conf></td></tr><tr><td style=";">      </td><td style=";"><min-capacity>50</min-capacity></td></tr><tr><td style=";">      </td><td style=";"><max-capacity>1000000</max-capacity></td></tr><tr><td style=";">      </td><td style=";"><remover-period>1800</remover-period></td></tr><tr><td style=";">      </td><td style=";"><max-bean-life>1800</max-bean-life></td></tr><tr><td style=";">      </td><td style=";"><overager-period>300</overager-period></td></tr><tr><td style=";">      </td><td style=";"><max-bean-age>600</max-bean-age></td></tr><tr><td style=";">      </td><td style=";"><resizer-period>400</resizer-period></td></tr><tr><td style=";">      </td><td style=";"><max-cache-miss-period>60</max-cache-miss-period></td></tr><tr><td style=";">      </td><td style=";"><min-cache-miss-period>1</min-cache-miss-period></td></tr><tr><td style=";">      </td><td style=";"><cache-load-factor>0.75</cache-load-factor></td></tr><tr><td style=";">    </td><td style=";"></cache-policy-conf></td></tr><tr><td style=";">  </td><td style=";"></container-cache-conf></td></tr><tr><td style=";">  </td><td style=";"><container-pool-conf></td></tr><tr><td style=";">    </td><td style=";"><MaximumSize>100</MaximumSize></td></tr><tr><td style=";">  </td><td style=";"></container-pool-conf></td></tr><tr><td style=";"></td><td style=";"></container-configuration></td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>With this configuration change I hoped, that I get a pooled connection for ejb 3.0.</p><p>But it seems, that there is something wrong because I still get information, that each request starts a new WorkerThread with a different port:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>2012-03-23 09:26:11,359 INFO  [STDOUT] (WorkerThread#1[192.168.1.24:2025]) sayHallo: + 90</p><p>2012-03-23 09:26:11,374 INFO  [STDOUT] (WorkerThread#0[192.168.1.24:2026]) sayHallo: + 91</p><p>2012-03-23 09:26:11,374 INFO  [STDOUT] (WorkerThread#1[192.168.1.24:2027]) sayHallo: + 92</p><p>2012-03-23 09:26:11,374 INFO  [STDOUT] (WorkerThread#0[192.168.1.24:2028]) sayHallo: + 93</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Next notice was, that ~ port 4500 the client port is created from ~ 1000 to 4500 and so on.</p><p>But after ~ 4000 fast calls to my test method I get a new exception:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>org.jboss.remoting.CannotConnectException: Can not get connection to server. Problem establishing socket connection for InvokerLocator [socket://HELIOTROP:3873/?]</p><p>    at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:776)</p><p>    at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:165)</p><p>    at org.jboss.remoting.Client.invoke(Client.java:1724)</p><p>    at org.jboss.remoting.Client.invoke(Client.java:629)</p><p>    at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:60)</p><p>    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)</p><p>    at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)</p><p>    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)</p><p>    at org.jboss.ejb3.security.client.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:65)</p><p>    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)</p><p>    at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)</p><p>    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)</p><p>    at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)</p><p>    at $Proxy3.invoke(Unknown Source)</p><p>    at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:207)</p><p>    at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:164)</p><p>    at $Proxy2.sayHallo(Unknown Source)</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>After this exception I can call my ejb.method again until the next exception.</p><p>This exception I also will get, if I use the unchanged standardjboss.xml configuration.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>My question:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Is something wrong with my pooled Invoker configuration?</p><p>Is this CannotConnectException normal, that I have to expect, or is this only occuring with my special test?</p><p>Where can I configure the parameter for the pooled Invoker? For example port and pool-size?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Thank you,</p><p>Werner</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/725850#725850">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Remoting at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2050">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>