[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