3 Replies Latest reply on Feb 14, 2013 12:02 PM by Radoslav Husar

    invoking simple ejb sessionbean dies after 42 invokes

    istvan benedek Newbie

      Hi,

       

      So I have a jboss 7.1.1.Final server, I created a simple stateless ejb with this service public int add(int a, int b), I also created a client which is invoking the ejb, the firts 41 invokes work properly...

      Addition: On client side I invoke the stateless bean from one thread..

       

      Settings on client side:

      jndiProperties.put(Context.URL_PKG_PREFIXES,

                      "org.jboss.ejb.client.naming");

      jndiProperties.put(Context.INITIAL_CONTEXT_FACTORY,

                      "org.jboss.naming.remote.client.InitialContextFactory");

       

      jndiProperties.put(Context.PROVIDER_URL, "remote://localhost:4447");

      jndiProperties.put(Context.SECURITY_PRINCIPAL, "peter");

      jndiProperties.put(Context.SECURITY_CREDENTIALS, "lois");

      jndiProperties.put("jboss.naming.client.ejb.context", true);

       

      In server side log:

       

      14:15:38,062 INFO  [org.jboss.as.naming] (Remoting "ibe" task-1) JBAS011806: Channel end notification received, closing channel Channel ID 4c44471a (inbound) of Remoting connection 3f84246a to /127.0.0.1:58885

       

      At client side:

       

      Oct 26, 2012 2:15:38 PM org.jboss.naming.remote.protocol.v1.RemoteNamingStoreV1$MessageReceiver handleEnd

      ERROR: Channel end notification received, closing channel Channel ID cc44471a (outbound) of Remoting connection 420f9c40 to localhost/127.0.0.1:4447

      Oct 26, 2012 2:15:38 PM org.jboss.ejb.client.remoting.ChannelAssociation$ResponseReceiver handleEnd

      INFO: Channel Channel ID da0c3583 (outbound) of Remoting connection 420f9c40 to localhost/127.0.0.1:4447 can no longer process messages

      Exception in thread "main" java.lang.IllegalStateException: No EJB receiver available for handling [appName:,modulename:at.salomon.sampleEJB,distinctname:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@21cc5069

          at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:584)

          at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:119)

          at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181)

          at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136)

          at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121)

          at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104)

          at $Proxy0.add(Unknown Source)

          at at.salomon.sample.ejb.client.Client$Run.run(Client.java:118)

          at at.salomon.sample.ejb.client.Client.main(Client.java:96)

       

       

      Anyone could help me with this, what do I do wrong? Thx in advance.

        • 1. Re: invoking simple ejb sessionbean dies after 42 invokes
          black_u Newbie

          Hi,

          I have the same problem.

          I tried it with JBoss AS 8.0.0 Alpha (14.02.2013) Here ist the Break a littlebit later: After 90 Calls of the bean, but EVERY TIME after 90 calls!

           

          Feb 14, 2013 2:32:32 PM org.jboss.naming.remote.protocol.v1.RemoteNamingStoreV1$MessageReceiver handleEnd

          ERROR: Channel end notification received, closing channel Channel ID b4bf565a (outbound) of Remoting connection 1f26261c to localhost/127.0.0.1:4447

          Feb 14, 2013 2:32:32 PM org.jboss.ejb.client.remoting.ChannelAssociation$ResponseReceiver handleEnd

          INFO: Channel Channel ID bdef76ec (outbound) of Remoting connection 1f26261c to localhost/127.0.0.1:4447 can no longer process messages

          Exception in thread "main" java.lang.IllegalStateException: No EJB receiver available for handling [appName:,modulename:JBossServer,distinctname:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@55dbcca3

              at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:584)

              at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:119)

              at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181)

              at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136)

              at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121)

              at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104)

              at $Proxy0.sayHello(Unknown Source)

              at start.Start.getHello(Start.java:34)

              at start.Start.main(Start.java:21)

          • 2. Re: invoking simple ejb sessionbean dies after 42 invokes
            istvan benedek Newbie

            wow... the imrovement is very significant... more than 200%:)

            • 3. Re: invoking simple ejb sessionbean dies after 42 invokes
              Radoslav Husar Master

              Guys, since it is so easy to reproduce, you can create a unit test and submit a pull request with a test.

               

              It is really easy, just look at https://community.jboss.org/wiki/HackingOnAS7