@JMX on a bootstrap service
brian.stansberry Aug 13, 2008 6:21 PMI'm trying to apply an @JMX annotation to a bean that's deployed as part of the bootstrap. The bean deploys fine, and I can see it in the jmx-console, but during shutdown I'm getting a CNFE. Any ideas why?
The deployment:
<?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="urn:jboss:bean-deployer:2.0"> <classloader><inject bean="bindings-classloader:0.0.0"/></classloader> <classloader name="bindings-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true"> <root>${jboss.lib.url}/jboss-bindingservice.jar</root> </classloader> <bean name="ServiceBindingManager" class="org.jboss.services.binding.ServiceBindingManager"> <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.system:service=ServiceBindingManager",exposedInterface=org.jboss.services.binding.ServiceBindingManagerMBean.class,registerDirectly=true)</annotation> <constructor> <!-- The set of bindings to use for this server --> <parameter>${jboss.service.binding.set:ports-default}</parameter>
The shutdown logging:
2008-08-13 17:09:35,310 DEBUG [org.jboss.system.ServiceController] (JBoss Shutdown Hook) stopping service: jboss.system:service=ServiceBindingManager 2008-08-13 17:09:35,311 DEBUG [org.jboss.system.ServiceController] (JBoss Shutdown Hook) destroying service: jboss.system:service=ServiceBindingManager 2008-08-13 17:09:35,311 DEBUG [org.jboss.system.ServiceController] (JBoss Shutdown Hook) removing service: jboss.system:service=ServiceBindingManager 2008-08-13 17:09:35,311 DEBUG [org.jboss.system.ServiceCreator] (JBoss Shutdown Hook) Removing mbean from server: jboss.system:service=ServiceBindingManager 2008-08-13 17:09:35,311 DEBUG [org.jboss.system.microcontainer.jmx.ServiceControllerRegistrationLifecycleCallback] (JBoss Shutdown Hook) Unregistered MBean jboss.system:service=ServiceBindingManager 2008-08-13 17:09:35,519 WARN [org.jboss.kernel.plugins.dependency.PreInstallAction] (JBoss Shutdown Hook) Unexpected error removing metadata: java.lang.RuntimeException: Error creating annotation for @org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.system:service=ServiceBindingManager",exposedInterface=org.jboss.services.binding.ServiceBindingManagerMBean.class) at org.jboss.beans.metadata.plugins.AbstractAnnotationMetaData.getAnnotationInstance(AbstractAnnotationMetaData.java:123) at org.jboss.beans.metadata.plugins.AbstractAnnotationMetaData.getAnnotationInstance(AbstractAnnotationMetaData.java:98) at org.jboss.kernel.plugins.dependency.KernelScopeInfo.updateAnnotations(KernelScopeInfo.java:323) at org.jboss.kernel.plugins.dependency.KernelScopeInfo.updateClassAnnotations(KernelScopeInfo.java:150) at org.jboss.kernel.plugins.dependency.KernelScopeInfo.updateMetaData(KernelScopeInfo.java:122) at org.jboss.dependency.plugins.AbstractScopeInfo.removeMetaData(AbstractScopeInfo.java:164) at org.jboss.kernel.plugins.metadata.basic.BasicKernelMetaDataRepository.removeMetaData(BasicKernelMetaDataRepository.java:77) at org.jboss.kernel.plugins.dependency.PreInstallAction.removeMetaData(PreInstallAction.java:214) at org.jboss.kernel.plugins.dependency.PreInstallAction.uninstallActionInternal(PreInstallAction.java:198) at org.jboss.kernel.plugins.dependency.InstallsAwareAction.uninstallAction(InstallsAwareAction.java:157) at org.jboss.kernel.plugins.dependency.InstallsAwareAction.uninstallAction(InstallsAwareAction.java:42) at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleUninstallAction(SimpleControllerContextAction.java:79) at org.jboss.dependency.plugins.action.AccessControllerContextAction.uninstall(AccessControllerContextAction.java:131) at org.jboss.dependency.plugins.AbstractControllerContextActions.uninstall(AbstractControllerContextActions.java:58) at org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354) at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1536) at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1201) at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1110) at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:618) at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:534) at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.undeployBean(AbstractKernelDeployer.java:406) at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.undeployBeans(AbstractKernelDeployer.java:385) at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.undeploy(AbstractKernelDeployer.java:162) at org.jboss.kernel.plugins.deployment.BasicKernelDeployer.undeploy(BasicKernelDeployer.java:88) at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.undeploy(BasicXMLDeployer.java:95) at org.jboss.kernel.plugins.deployment.BasicKernelDeployer.shutdown(BasicKernelDeployer.java:102) at org.jboss.bootstrap.microcontainer.ServerImpl.doShutdown(ServerImpl.java:163) at org.jboss.bootstrap.AbstractServerImpl.shutdownServer(AbstractServerImpl.java:523) at org.jboss.bootstrap.AbstractServerImpl$ShutdownHook.run(AbstractServerImpl.java:827) Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.jboss.services.binding.ServiceBindingManagerMBean at org.jboss.annotation.factory.AnnotationCreator.visit(AnnotationCreator.java:236) at org.jboss.annotation.factory.ast.ASTIdentifier.jjtAccept(ASTIdentifier.java:37) at org.jboss.annotation.factory.AnnotationCreator.visit(AnnotationCreator.java:111) at org.jboss.annotation.factory.ast.ASTMemberValuePair.jjtAccept(ASTMemberValuePair.java:37) at org.jboss.annotation.factory.AnnotationCreator.createAnnotation(AnnotationCreator.java:372) at org.jboss.annotation.factory.AnnotationCreator.createAnnotation(AnnotationCreator.java:394) at org.jboss.beans.metadata.plugins.AbstractAnnotationMetaData.getAnnotationInstance(AbstractAnnotationMetaData.java:114) ... 28 more Caused by: java.lang.ClassNotFoundException: org.jboss.services.binding.ServiceBindingManagerMBean at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:242) at org.jboss.annotation.factory.AnnotationCreator.visit(AnnotationCreator.java:170) ... 34 more 2008-08-13 17:09:35,529 DEBUG [org.jboss.classloader.spi.base.BaseClassLoaderDomain] (JBoss Shutdown Hook) ClassLoaderDomain@33b121{DefaultDomain} unregisterClassLoader BaseClassLoader@7b21ea{bindings-classloader:0.0.0$MODULE} 2008-08-13 17:09:35,529 DEBUG [org.jboss.mx.loading.UnifiedLoaderRepository3] (JBoss Shutdown Hook) UnifiedLoaderRepository removed(false) null 2008-08-13 17:09:35,529 DEBUG [org.jboss.classloader.spi.base.BaseClassLoaderPolicy] (JBoss Shutdown Hook) VFSClassLoaderPolicy@1efa490{bindings-classloader:0.0.0$MODULE} shutdown! 2008-08-13 17:09:35,529 DEBUG [org.jboss.classloader.spi.base.BaseClassLoader] (JBoss Shutdown Hook) BaseClassLoader@7b21ea{bindings-classloader:0.0.0$MODULE} shutdown! 2008-08-13 17:09:35,529 DEBUG [org.jboss.classloading.spi.dependency.Domain] (JBoss Shutdown Hook) org.jboss.classloading.spi.dependency.Domain@b51c29{DefaultDomain} add module VFSClassLoaderPolicyModule bindings-classloader:0.0.0