Hi,

I'am using JBossAS 4.2.0 GA on Windows XP to bench the remoting call to EJB3.
After approximately 3000 calls, this exception occured :


  | org.jboss.remoting.CannotConnectException: Can not get connection to 
server. Problem establishing socket connection for InvokerLocator 
[socket://10.129.3.232:3873/]
  |     at 
org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:525)
  |     at 
org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
  |     at org.jboss.remoting.Client.invoke(Client.java:1544)
  |     at org.jboss.remoting.Client.invoke(Client.java:530)
  |     at 
org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103)
  |     at $Proxy0.getDatas(Unknown Source)
  |     at com.lapeyre.test.Bench.main(Bench.java:34)
  | Caused by: java.net.BindException: Address already in use: connect
  |     at java.net.PlainSocketImpl.socketConnect(Native Method)
  |     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
  |     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
  |     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
  |     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
  |     at java.net.Socket.connect(Socket.java:516)
  |     at 
org.jboss.remoting.transport.socket.SocketClientInvoker.createSocket(SocketClientInvoker.java:187)
  |     at 
org.jboss.remoting.transport.socket.MicroSocketClientInvoker.getConnection(MicroSocketClientInvoker.java:796)
  |     at 
org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:521)
  |     at 
org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
  |     at org.jboss.remoting.Client.invoke(Client.java:1544)
  |     at org.jboss.remoting.Client.invoke(Client.java:530)
  |     at 
org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103)

If i look for used TCP ports, during execution of my test, i can see that a new 
local port (on the client) is used for each call.

In org.jboss.aspects.remoting.InvokeRemoteInterceptor source code, a remoting 
Client is created, connected and disconnected for each call :

  | public class InvokeRemoteInterceptor ...
  | 
  |    public Object invoke(org.jboss.aop.joinpoint.Invocation invocation) 
throws Throwable
  |    {
  |       ...
  |       Client client = new Client(locator, subsystem);
  |       
  |       try 
  |       {
  |          client.connect();
  |          ...
  |       }
  |       finally
  |       {
  |          client.disconnect();
  |       }
  |    }
  | 

Is there a InvokeRemoteInterceptorWithPooledClient class somewhere, or a 
special configuration ?

Thanks

-Yvan

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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4050061
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to