1 2 Previous Next 17 Replies Latest reply on Oct 17, 2012 11:11 AM by jaikiran

    Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally

    als

      Hello everybody and JBoss guys.

       

      Very simple and critical issue.

       

      Our system runs Grails app which is an EJB Client.

      Randomally it gots

      [Remoting "config-based-ejb-client-endpoint" read-1] ERR

      OR remote.connection  - JBREM000200: Remote connection failed: javax.security.sa

      sl.SaslException: Authentication failed: all available authentication mechanisms

      failed

      java.lang.IllegalStateException: No EJB receiver available for handling blablabla.

       

      Just to make myself clear- same code, same place, same connection, everything is reproducable when client and server are on the same PC: sometimes EJB invocation works and sometimes raises this "

      [Remoting "config-based-ejb-client-endpoint" read-1] ERR

      OR remote.connection  - JBREM000200: Remote connection failed: javax.security.sa

      sl.SaslException: Authentication failed: all available authentication mechanisms

      failed

      java.lang.IllegalStateException: No EJB receiver available for handling blablabla.

       

       

      Seems this is a showstopper issue, what do you think about?

        • 1. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
          als

          Can JBoss AS7 EJB Remote connection be runned WITHOUT user authentication?

          • 2. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
            jaikiran

            Alexey S. wrote:

             

            Can JBoss AS7 EJB Remote connection be runned WITHOUT user authentication?

            You can't if the server is secured (which by default it is since AS 7.1.x)

            • 3. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
              als

              I guess that this is like it is. But what about the MAIN PROBLEM??what about the start of this discussion?Randomally disconnects...

              • 4. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
                jaikiran

                Please post more details including the entire exception stacktrace and the nature of your client and server side applications.

                • 5. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
                  als

                  no exception on server side.

                  here is the exception in clientside (grails webb app), as you can see all our code names are replaced by XXX due to the commercial secret.

                  2012-10-17 15:10:07,442 [Remoting "config-based-ejb-client-endpoint" read-1] ERROR remote.connection  - JBREM000200: Remote connection failed: javax.securit

                  all available authentication mechanisms failed

                  No EJB receiver available for handling [appName:XXX,modulename:XXXXX,distinctname:] combination for invocation context

                  text@5a7af475

                  java.lang.IllegalStateException: No EJB receiver available for handling [appName:XXX,modulename:XXXXX,distinctname:] combination fo

                  BClientInvocationContext@5a7af475

                          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 $Proxy7.XXXXXXXXXXXXXXXXXXXX(Unknown Source)

                          at XXXXXXXXXXXXXXXXXXXXXXXXXXX(XXXXX.java:1447)

                          at XXXXXXXXXXXXXXXXXXXXXXXXXXXXX(XXXXX.java:731)

                          at XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX(Unknown Source)

                          at XXXXXXXXXXXXXX.doCall(XXXXXXXXXXX.groovy:2059)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                          at java.lang.reflect.Method.invoke(Method.java:601)

                          at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)

                          at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)

                          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)

                          at wakeappcentral.BackendController$_closure91.doCall(BackendController.groovy)

                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                          at java.lang.reflect.Method.invoke(Method.java:601)

                          at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)

                          at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

                          at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

                          at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

                          at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

                          at groovy.lang.Closure.call(Closure.java:282)

                          at groovy.lang.Closure.call(Closure.java:277)

                          at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:368)

                          at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:232)

                          at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:190)

                          at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:129)

                          at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsController.handleRequest(SimpleGrailsController.java:73)

                          at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

                          at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:292)

                  Why I think this is critical- because sometimes the same function works and sometimes fails!

                  • 6. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
                    jaikiran

                    Please enable TRACE level logs for org.jboss.ejb.client org.jboss.remoting and org.jboss.remoting3 on the client side and attach that log. That will give us an hint on why no receivers exist for that EJB. From the server side please post the JNDI binding logs that you see when you deploy the application (and make sure they match with the appname, module name being used on the client side).

                    • 7. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
                      als

                      Jaikiran, I ll do it- but let me explain who the thing works : I creates the connected EjbClient and invokes the function from it. it the same object the same functions. So how it even possible that once it was succesfully invoked in the second time it will misunderstand appname and module name?

                      • 8. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
                        jaikiran

                        Alexey S. wrote:

                         

                        So how it even possible that once it was succesfully invoked in the second time it will misunderstand appname and module name?

                        It is possible if the underlying connection gets disconnected and further attempts to reconnect fail or the module de-registration event is received by an existing receiver. The log might tell us more.

                        • 9. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
                          als

                          I didnt find the way you can log in tomcat for a specific class. Do you have some example in JULI or Log4J how this TRACE is possible?

                          • 10. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
                            jaikiran

                            So your client is Tomcat? How do you log from within your application? I think that logging file can then be used to configure these logging categories.

                            • 11. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
                              als

                              As I said- my client is encapsulated in Groovy-On-Grails web app which runs under the Tomcat scope of course. but again- I didnt find how I can instruct JULI or Log4J to log for the predefined class on the TRACE level.

                              Tomcat can use JULI or LOg4J technique - do you have any examples for such kind of logging?

                              • 12. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
                                jaikiran

                                By the way, now that you mention that you have Tomcat as your client and given some other similar posts, can you add this property to your jboss-ejb-client.properties (or the properties that you might be using to create the EJBReceiver):

                                 

                                # Sends a "ping" every 1 minute (60000 milli sec) for the connection

                                remote.connection.foo.connect.options.org.jboss.remoting3.RemotingOptions.HEARTBEAT_INTERVAL=60000

                                 

                                where foo has to be replaced by the connection name that you are using.

                                • 13. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
                                  als

                                  it doesnt help. everything is very strange- looks like some functions are always works and some are sometimes gives this error. same remote object, same EJB

                                  • 14. Re: Critical Error: java.lang.IllegalStateException: No EJB receiver available for handling appears randomally
                                    jaikiran

                                    I really can't help you with generating logs on Tomcat, sorry. But if somehow you manage to get those logs, please attach them here and also please attach the client code and the properties file (if any) that you are using to reproduce this issue. Without that, this is just going to be guess work.

                                    1 2 Previous Next