[jboss-jira] [JBoss JIRA] Closed: (EJBTHREE-986) EJB3 Remoting cause BindException on load

Carlo de Wolf (JIRA) jira-events at lists.jboss.org
Tue Oct 23 04:28:08 EDT 2007


     [ http://jira.jboss.com/jira/browse/EJBTHREE-986?page=all ]

Carlo de Wolf closed EJBTHREE-986.
----------------------------------


> EJB3 Remoting cause BindException on load
> -----------------------------------------
>
>                 Key: EJBTHREE-986
>                 URL: http://jira.jboss.com/jira/browse/EJBTHREE-986
>             Project: EJB 3.0
>          Issue Type: Bug
>    Affects Versions: AS 4.2.0 GA
>         Environment: JBoss 4.2.0 GA, JDK 1.5.0_08-b03, Windows XP SP2
>            Reporter: Yvan Borgne
>         Assigned To: Carlo de Wolf
>            Priority: Critical
>             Fix For: AS 5.0.0.Beta3, AS 4.2.2.GA
>
>         Attachments: ejb3-interceptors-aop.xml, InvokeRemoteInterceptor.java
>
>
> After a lot of call (>3000) to an EJB3 SLSB this exception is throwed :
> org.jboss.remoting.CannotConnectException: Can not get connection to server. Problem establishing socket connection for InvokerLocator [socket://127.0.0.1:3873/]
> 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:530)
> 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
> 	at org.jboss.remoting.Client.invoke(Client.java:1550)
> 	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.bar(Unknown Source)
> 	at client.Test.main(Test.java:22)
> 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:801)
> 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:526)
> 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
> 	at org.jboss.remoting.Client.invoke(Client.java:1550)
> 	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.bar(Unknown Source)
> 	at client.Test.main(Test.java:22)
> 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74)
> 	... 10 more
> Jboss server and test client are on the same host.
> For each call, a new TCP connection is opened, with a different local port. So there is also a performance problem.
> Here is a simple code to reproduce :
> -- EJB3 remote Interface --
> package ejb;
> import javax.ejb.Remote;
> @Remote
> public interface Foo {
>   public void bar();
> }
> -- EJB3 Implementation --
> package ejb;
> import javax.ejb.Stateless;
> @Stateless
> public class FooBean implements Foo {
>   public void bar() {
>   }
> }
> -- client --
> package client;
> import java.util.Properties;
> import javax.naming.Context;
> import javax.naming.InitialContext;
> import ejb.Foo;
> public class Test {
>   public static void main(String[] args) {
>     try {
>       Properties env = new Properties();
>       env.put(Context.PROVIDER_URL, "jnp://localhost:1099");
>       env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
>       env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
>       env.put("jnp.disableDiscovery", "true");
>       Context context = new InitialContext(env);
>       Foo foo = (Foo)context.lookup("FooBean/remote");
>       while(true) {
>         foo.bar();
>       }
>     } catch (Exception e) {
>       e.printStackTrace();
>     }
>   }
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list