5 Replies Latest reply on Dec 12, 2006 4:13 AM by m_hess

    @Asynchronous / Dispatcher not bound

    m_hess

      Hi,

      just a short question: Is the @Asynchronous Annotation only supposed to be working on JBoss AS ? Or should a deployment on/in Tomcat be working as well?

      bye, Michael

        • 1. Re: @Asynchronous / Dispatcher not bound

          @Asynchronous requires EJB3 support. Although I haven't tried it outside of AS, it should work fine with the embedded EJB3 on tomcat.

          • 2. Re: @Asynchronous / Dispatcher not bound
            m_hess

            Hmmm.... OK. So maybe anybody else also experienced this errormessage?

            [17:24:37] [admin1] [ERROR] [...erceptors.ExceptionInterceptor:370 ] >> redirecting to debug page
            javax.ejb.EJBTransactionRolledbackException: org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.core.dispatcher
             at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:93)
             at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
             at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:201)
             at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:98)
            [...]
            


            Caused by: org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.core.dispatcher
             at org.jboss.seam.Component.newInstance(Component.java:1724)
             at org.jboss.seam.Component.getInstance(Component.java:1627)
             at org.jboss.seam.Component.getInstance(Component.java:1594)
             at org.jboss.seam.Component.getInstance(Component.java:1573)
             at org.jboss.seam.Component.getInstance(Component.java:1568)
             at org.jboss.seam.core.Dispatcher.instance(Dispatcher.java:237)
             at org.jboss.seam.interceptors.AsynchronousInterceptor.invokeAsynchronouslyIfNecessary(AsynchronousInterceptor.java:24)
             at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
             at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
             at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
             at java.lang.reflect.Method.invoke(Method.java:585)
            [...]
            


            Caused by: javax.naming.NameNotFoundException: Dispatcher not bound
             at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
             at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
             at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
             at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
             at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:626)
             at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:588)
             at javax.naming.InitialContext.lookup(InitialContext.java:351)
             at org.jboss.seam.Component.instantiateSessionBean(Component.java:1029)
             at org.jboss.seam.Component.instantiate(Component.java:1015)
             at org.jboss.seam.Component.newInstance(Component.java:1720)
             ... 170 more
            [...]
            


            The Dispatcher components gets installed on startup:
            [16:55:06] [] [INFO ] [...org.jboss.seam.Component :245 ] >> Component: org.jboss.seam.core.dispatcher, scope: STATELESS, type: STATELESS_SESSION_BEAN, class: org.jboss.seam.core.Dispatcher, JNDI: Dispatcher/local


            And we do have the local interface annotated (not the implementing classes method).

            Any ideas or insights?

            • 3. Re: @Asynchronous / Dispatcher not bound

              Interesting. I was able deploy the new seampay example on tomcat. I didn't run into any JNDI issues, but I did run into a problem with the dispatcher session bean not having its TimerService injected properly. It is possible that EEJB does not support the TimerService, but that would not explain your JNDI issues.

              Can you explain what exactly you are doing to encounter that error? The JNDI name looks right to me, so I don't see why it would be failing there.

              • 4. Re: @Asynchronous / Dispatcher not bound

                Sorry for leading you astray. According to the docs (http://docs.jboss.org/ejb3/embedded/embedded.html), embedded EJB3 does not yet support the timer service. Until then (or until we provide an alternate dispatcher implementation) @Asynchronous will not work outside of a complete EJB3 environment.

                • 5. Re: @Asynchronous / Dispatcher not bound
                  m_hess

                  Thanks for clearing things up, Norman. You probably saved me a few valuable hours. :-)