@Service EJB Undeploy error
alpheratz-jb Nov 21, 2006 4:54 PM(I originally posted this at http://www.jboss.com/index.html?module=bb&op=viewtopic&t=94960 but got no response, so I'll see if anyone in this community can help...)
I have an @Service EJB (see code).
It deploys OK. it works OK. I can see the bean being driven through its lifecycle OK. I can see setValue being called. I can see the value in the MBean Inspector page.
However on undeploy/redeploy I get an exception (see traces):
java.lang.RuntimeException: javax.management.InstanceNotFoundException: dnd:statistics=DisasterCount is not registered.
The exception occurs regardless of whether the value is inspected in the MBeans Inspector page or not.
The app is based around SEAM. Happens in all versions, including CR1.
This is with the jems-installer-1.2.0.BETA3.jar.
There is another post somewhere that indicates that this is a jboss4.0.5
issue, since the poster says that going back to 4.0.4 solved his problem
(can't find the other post now, though...)
This is not a show-stopper...I don't see any real affect on the running app...I'd just like to confirm that this is 'harmless' or be shown the error of my ways if need be.
Any suggestions/assistance would be gratefully accepted.
Cheers,
Alph.
===========
Usage in a SEAM stateful session bean:
@EJB private DisasterCountLocal dc; @SuppressWarnings("unchecked") @Factory("disasterCollection") public void findAll() { disasterCollection = em.createNamedQuery("Disaster.findAll").setHint( "org.hibernate.cacheable", true).getResultList(); dc.setValue(disasterCollection.size()); }
package dnd.mbean; import javax.ejb.Local; import org.jboss.annotation.ejb.Service; // http://docs.jboss.org/ejb3/app-server/reference/build/reference/en/html/jboss_extensions.html // http://trailblazer.demo.jboss.com/EJB3Trail/serviceobjects/jmx/index.html @Service (objectName = "dnd:statistics=DisasterCount") @Local(DisasterCountLocal.class) public class DisasterCount implements DisasterCountLocal, DisasterCountManagement { int v; public void setValue(int v) { System.out.println("setValue(" + v + ")"); this.v = v; } public int getValue() { return v; } // Lifecycle methods public void create() throws Exception { System.out.println("DisasterCount - Creating"); } public void start() throws Exception { System.out.println("DisasterCount - Starting"); } public void stop() { System.out.println("DisasterCount - Stopping"); } public void destroy() { System.out.println("DisasterCount - Destroying"); } }
package dnd.mbean; import javax.ejb.Local; @Local public interface DisasterCountLocal { int getValue(); void setValue(int v); }
package dnd.mbean; import org.jboss.annotation.ejb.Management; @Management public interface DisasterCountManagement { int getValue(); void create() throws Exception; void start() throws Exception; void stop(); void destroy(); }
Deployment trace:
12:22:40,937 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=jboss-seam-dnd.ear,jar=jb oss-seam-dnd.jar,name=DisasterCount,service=EJB3 with dependencies: 12:22:40,953 INFO [EJBContainer] STARTED EJB: dnd.mbean.DisasterCount ejbName: DisasterCount 12:22:40,968 INFO [STDOUT] DisasterCount - Creating 12:22:40,968 INFO [STDOUT] DisasterCount - Starting 12:22:40,984 INFO [EJBContainer] STARTED EJB: dnd.ejb3.session.DisasterManagerAction ejbName: DisasterManagerAction
Undeploy/redeploy trace:
13:19:35,125 INFO [STDOUT] DisasterCount - Stopping 13:19:35,125 INFO [STDOUT] DisasterCount - Destroying 13:19:35,125 WARN [ServiceDelegateWrapper] Stopping failed jboss.j2ee:ear=jboss-seam-dnd.ear,jar=jb oss-seam-dnd.jar,name=DisasterCount,service=EJB3 java.lang.RuntimeException: javax.management.InstanceNotFoundException: dnd:statistics=DisasterCount is not registered. at org.jboss.ejb3.JmxKernelAbstraction.uninstallMBean(JmxKernelAbstraction.java:159) at org.jboss.ejb3.service.ServiceContainer.stop(ServiceContainer.java:166) 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) at org.jboss.ejb3.ServiceDelegateWrapper.stopService(ServiceDelegateWrapper.java:118) at org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSupport.java:315) at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:247) at sun.reflect.GeneratedMethodAccessor406.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978) at $Proxy0.stop(Unknown Source) at org.jboss.system.ServiceController.stop(ServiceController.java:508) at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy267.stop(Unknown Source) at org.jboss.ejb3.JmxKernelAbstraction.uninstallMBean(JmxKernelAbstraction.java:151) at org.jboss.ejb3.JmxKernelAbstraction.uninstall(JmxKernelAbstraction.java:175) at org.jboss.ejb3.Ejb3Deployment.stop(Ejb3Deployment.java:501) at org.jboss.ejb3.Ejb3Module.stopService(Ejb3Module.java:107) at org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSupport.java:315) at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:247) at sun.reflect.GeneratedMethodAccessor406.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978) at $Proxy0.stop(Unknown Source) at org.jboss.system.ServiceController.stop(ServiceController.java:508) at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy36.stop(Unknown Source) at org.jboss.ejb3.EJB3Deployer.stop(EJB3Deployer.java:469) 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) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.ja va:142) at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97) at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:2 38) at org.jboss.ws.integration.jboss.DeployerInterceptor.stop(DeployerInterceptor.java:122) at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptor Support.java:196) at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy37.stop(Unknown Source) at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667) at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:659) at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638) at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632) at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615) 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) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.ja va:142) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy6.undeploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:604) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentSc anner.java:263) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScan ner.java:274) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScann er.java:225) Caused by: javax.management.InstanceNotFoundException: dnd:statistics=DisasterCount is not registere d. at org.jboss.mx.server.registry.BasicMBeanRegistry.get(BasicMBeanRegistry.java:523) at org.jboss.mx.server.MBeanServerImpl.unregisterMBean(MBeanServerImpl.java:383) at org.jboss.ejb3.JmxKernelAbstraction.uninstallMBean(JmxKernelAbstraction.java:155) ... 100 more