Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-3487

EJBs prematurely stopped upon undeploy

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 7.1.0.Final
    • 7.1.0.CR1b
    • EJB
    • None

    Description

      EJBs calls during application shutdown fail because the EJBs are stopped before web components or CDI components are.

      For example the following used to work in 6.1.0 and 7.0.1

      @WebListener
      public class App implements ServletContextListener {
        @EJB
        private Bean bean;
      
      
        @Override
        public void contextInitialized(ServletContextEvent sce) {
          System.out.println("App.contextInitialized");
          bean.registerStartup();
        }
      
      
        @Override
        public void contextDestroyed(ServletContextEvent sce) {
          System.out.println("App.contextDestroyed");
          bean.registerShutdown();
        }
      }
      

      But on 7.1.0-SNAPSHOT it results in

      10:16:04,548 INFO  stdout (MSC service thread 1-3) App.contextDestroyed
      10:16:04,566 ERROR org.jboss.ejb3.invocation (MSC service thread 1-3) JBAS014134: EJB Invocation failed on component Bean for method public void stoptest.Bean.registerShutdown(): javax.ejb.EJBException: java.lang.IllegalStateException: JBAS011049: Component is stopped
           at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:166) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:230) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) jboss-invocation-1.1.1.Final.jar:1.1.1.Final
           at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) jboss-invocation-1.1.1.Final.jar:1.1.1.Final
           at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) jboss-invocation-1.1.1.Final.jar:1.1.1.Final
           at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) jboss-as-ee-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) jboss-invocation-1.1.1.Final.jar:1.1.1.Final
           at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) jboss-as-ee-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) jboss-invocation-1.1.1.Final.jar:1.1.1.Final
           at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) jboss-invocation-1.1.1.Final.jar:1.1.1.Final
           at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) jboss-as-ee-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:173) jboss-as-ee-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) jboss-invocation-1.1.1.Final.jar:1.1.1.Final
           at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) jboss-invocation-1.1.1.Final.jar:1.1.1.Final
           at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72) jboss-as-ee-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at stoptest.Bean$$$view2.registerShutdown(Unknown Source) EJBs prematurely stopped upon undeploy(?)
           at stoptest.App.contextDestroyed(App.java:22) EJBs prematurely stopped upon undeploy(?)
           at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3489) jbossweb-7.0.9.Final.jar:
           at org.apache.catalina.core.StandardContext.stop(StandardContext.java:3999) jbossweb-7.0.9.Final.jar:
           at org.jboss.as.web.deployment.WebDeploymentService.stop(WebDeploymentService.java:96) jboss-as-web-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:1909)
           at org.jboss.msc.service.ServiceControllerImpl$StopTask.run(ServiceControllerImpl.java:1872)
           at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) EJBs prematurely stopped upon undeploy(?)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) EJBs prematurely stopped upon undeploy(?)
           at java.lang.Thread.run(Thread.java:680) EJBs prematurely stopped upon undeploy(?)
      Caused by: java.lang.IllegalStateException: JBAS011049: Component is stopped
           at org.jboss.as.ee.component.BasicComponent.waitForComponentStart(BasicComponent.java:104) jboss-as-ee-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:127) jboss-as-ee-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:85) jboss-as-ee-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.as.ejb3.component.stateless.StatelessSessionComponent$1.create(StatelessSessionComponent.java:65) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.as.ejb3.component.stateless.StatelessSessionComponent$1.create(StatelessSessionComponent.java:62) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.as.ejb3.pool.AbstractPool.create(AbstractPool.java:60) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.as.ejb3.pool.strictmax.StrictMaxPool.get(StrictMaxPool.java:128) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:47) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) jboss-invocation-1.1.1.Final.jar:1.1.1.Final
           at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228) jboss-as-ejb3-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT
           ... 27 more
       
      

      Attachments

        Activity

          People

            sdouglas1@redhat.com Stuart Douglas
            maasvdberg Maas van den Berg
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: