Error undeploying MDB's and Queues on 4.0
squeak Nov 3, 2004 10:14 AMI have an EAR file that contains my queue definitions, and well as my MDB definitions.
When I undeploy my EAR file inside the 'standard' config for JBoss 4.0, I get a litnany of errors. I did not see this issue on 3.2.3
Here is the stacktrace
10:04:53,863 INFO [org.jboss.web.tomcat.tc5.TomcatDeployer:391] undeploy, ctxPath=/jcore, warUrl=file:/C:/jboss-4.0.0/server/default/tmp/deploy/tmp56118OSNCore.ear-contents/jcore-exp.war/ 10:04:53,883 INFO [org.jboss.ejb.EJBDeployer:626] Undeploying: file:/C:/jboss-4.0.0/server/default/tmp/deploy/tmp56118OSNCore.ear-contents/OSNBeans.jar 10:04:53,984 WARN [org.jboss.mq.server.BasicQueue:653] Error during stop - removing subscriber Subscription[subId=-2147483648connection=ConnectionToken:ID:3/84a5f3763bfc14670fcfa8652498c954 destination=QUEUE.BulkEmailMDBQueue messageSelector=null Local Create] javax.jms.InvalidDestinationException: The subscription was registered with a destination that does not exist ! at org.jboss.mq.server.ClientConsumer.removeSubscription(ClientConsumer.java:246) at org.jboss.mq.server.BasicQueue.stop(BasicQueue.java:649) at org.jboss.mq.server.JMSQueue.close(JMSQueue.java:152) at org.jboss.mq.server.JMSDestinationManager.closeDestination(JMSDestinationManager.java:806) at org.jboss.mq.server.jmx.DestinationMBeanSupport.stopService(DestinationMBeanSupport.java:138) at org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSupport.java:319) at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:223) at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) at org.jboss.mx.server.Invocation.invoke(Invocation.java:72) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891) at $Proxy0.stop(Unknown Source) at org.jboss.system.ServiceController.stop(ServiceController.java:498) at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) at org.jboss.mx.server.Invocation.invoke(Invocation.java:72) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176) at $Proxy4.stop(Unknown Source) at org.jboss.deployment.SARDeployer.stop(SARDeployer.java:295) at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:593) at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:608) at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:576) at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:571) at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:544) 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:324) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119) at org.jboss.mx.server.Invocation.invoke(Invocation.java:74) at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131) at org.jboss.mx.server.Invocation.invoke(Invocation.java:74) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176) at $Proxy8.undeploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:335) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:423) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:204) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:215) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:194) 10:04:53,984 WARN [org.jboss.mq.server.BasicQueue:653] Error during stop - removing subscriber Subscription[subId=-2147483648connection=ConnectionToken:ID:1/36be1dd15629d23319402b72321c07e4 destination=QUEUE.EmailMDBQueue messageSelector=null Local Create] javax.jms.InvalidDestinationException: The subscription was registered with a destination that does not exist ! at org.jboss.mq.server.ClientConsumer.removeSubscription(ClientConsumer.java:246) at org.jboss.mq.server.BasicQueue.stop(BasicQueue.java:649) at org.jboss.mq.server.JMSQueue.close(JMSQueue.java:152) at org.jboss.mq.server.JMSDestinationManager.closeDestination(JMSDestinationManager.java:806) at org.jboss.mq.server.jmx.DestinationMBeanSupport.stopService(DestinationMBeanSupport.java:138) at org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSupport.java:319) at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:223) at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) at org.jboss.mx.server.Invocation.invoke(Invocation.java:72) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891) at $Proxy0.stop(Unknown Source) at org.jboss.system.ServiceController.stop(ServiceController.java:498) at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) at org.jboss.mx.server.Invocation.invoke(Invocation.java:72) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176) at $Proxy4.stop(Unknown Source) at org.jboss.deployment.SARDeployer.stop(SARDeployer.java:295) at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:593) at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:608) at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:576) at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:571) at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:544) 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:324) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119) at org.jboss.mx.server.Invocation.invoke(Invocation.java:74) at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131) at org.jboss.mx.server.Invocation.invoke(Invocation.java:74) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176) at $Proxy8.undeploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:335) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:423) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:204) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:215) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:194) 10:04:53,984 INFO [org.jboss.deployment.EARDeployer:327] Undeploying J2EE application, destroy step: file:/C:/jboss-4.0.0/server/default/deploy/OSNCore.ear 10:04:55,175 WARN [org.jboss.mq.server.ClientConsumer:191] The subscription was registered with a destination that does not exist: Subscription[subId=-2147483648connection=ConnectionToken:ID:3/84a5f3 763bfc14670fcfa8652498c954 destination=QUEUE.BulkEmailMDBQueue messageSelector=null Local Create] 10:04:55,195 INFO [org.jboss.ejb.EjbModule:478] Undeployed BulkEmailListener 10:04:55,195 WARN [org.jboss.mq.server.ClientConsumer:191] The subscription was registered with a destination that does not exist: Subscription[subId=-2147483648connection=ConnectionToken:ID:1/36be1d d15629d23319402b72321c07e4 destination=QUEUE.EmailMDBQueue messageSelector=null Local Create] 10:04:55,205 INFO [org.jboss.ejb.EjbModule:478] Undeployed EmailListener 10:04:55,205 INFO [org.jboss.ejb.EjbModule:478] Undeployed ConsultationTrackingService 10:04:55,205 INFO [org.jboss.ejb.EjbModule:478] Undeployed HallPassService 10:04:55,205 INFO [org.jboss.ejb.EjbModule:478] Undeployed NodeModelService 10:04:55,215 INFO [org.jboss.ejb.EjbModule:478] Undeployed DocumentLibraryService 10:04:55,215 INFO [org.jboss.ejb.EjbModule:478] Undeployed EmailService 10:04:55,215 INFO [org.jboss.ejb.EjbModule:478] Undeployed StoreService 10:04:55,215 INFO [org.jboss.ejb.EjbModule:478] Undeployed OppTrackingService 10:04:55,215 INFO [org.jboss.ejb.EjbModule:478] Undeployed PersistenceService 10:04:55,215 INFO [org.jboss.ejb.EjbModule:478] Undeployed CatalogService 10:04:55,225 INFO [org.jboss.ejb.EjbModule:478] Undeployed OrganizationProfileService 10:04:55,225 INFO [org.jboss.ejb.EjbModule:478] Undeployed TextletService 10:04:55,235 WARN [org.jboss.deployment.DeploymentInfo:374] Could not delete file:/C:/jboss-4.0.0/server/default/tmp/deploy/tmp56118OSNCore.ear restart will delete it
As you can see, I have two queues, and both with an MDB attached to it. It looks like when the queue is being stopped, it is not able to remove the MDB as a subscriber. Any thoughts?
For completeness, here is my descriptors for the queues, and the MDB:
<mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=EmailMDBQueue"> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=BulkEmailMDBQueue"> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean>
ejb-jar.xml
<message-driven > <description>[CDATA[]]</description> <ejb-name>EmailListener</ejb-name> <ejb-class>org.osn.ejb.EmailListenerMDB</ejb-class> <transaction-type>Container</transaction-type> <acknowledge-mode>Auto-acknowledge</acknowledge-mode> <message-driven-destination> <destination-type>javax.jms.Queue</destination-type> <subscription-durability>Durable</subscription-durability> </message-driven-destination> </message-driven> <message-driven > <description>[CDATA[]]</description> <ejb-name>BulkEmailListener</ejb-name> <ejb-class>org.osn.ejb.BulkEmailListenerMDB</ejb-class> <transaction-type>Container</transaction-type> <acknowledge-mode>Auto-acknowledge</acknowledge-mode> <message-driven-destination> <destination-type>javax.jms.Queue</destination-type> <subscription-durability>Durable</subscription-durability> </message-driven-destination> </message-driven>
jboss.xml
<message-driven> <ejb-name>EmailListener</ejb-name> <destination-jndi-name>queue/EmailMDBQueue</destination-jndi-name> </message-driven> <message-driven> <ejb-name>BulkEmailListener</ejb-name> <destination-jndi-name>queue/BulkEmailMDBQueue</destination-jndi-name> </message-driven>
Thanks!