[jboss-user] [Management, JMX/JBoss] - Error when deploy MBean on JBoss 4.2.1 GA

matt4400 do-not-reply at jboss.com
Thu Sep 20 11:15:53 EDT 2007


Hello!!
I trie to deploy a MBean in a JBoss 4.2.1 GA and I have this error :

  | ERROR [org.jboss.deployment.MainDeployer] Could not create deployment: file:/C:/outils/jboss-4.2.1.GA/server/default/deploy/helloService.sar
  | org.jboss.deployment.DeploymentException: Class does not expose a management interface: java.lang.Object; - nested throwable: (javax.management.NotCompliantMBeanException: Class does not expose a management interface: java.lang.Object)
  | 	at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java:196)
  | 	at org.jboss.system.ServiceController.install(ServiceController.java:226)
  | 	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.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 $Proxy4.install(Unknown Source)
  | 	at org.jboss.deployment.SARDeployer.create(SARDeployer.java:249)
  | 	at org.jboss.deployment.MainDeployer.create(MainDeployer.java:969)
  | 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:818)
  | 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
  | 	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.java: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 $Proxy9.deploy(Unknown Source)
  | 	at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
  | 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
  | 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
  | 	at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
  | 	at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
  | 	at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
  | 	at sun.reflect.GeneratedMethodAccessor3.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.start(Unknown Source)
  | 	at org.jboss.system.ServiceController.start(ServiceController.java:417)
  | 	at sun.reflect.GeneratedMethodAccessor9.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 $Proxy4.start(Unknown Source)
  | 	at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
  | 	at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
  | 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
  | 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
  | 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
  | 	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.java: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 $Proxy5.deploy(Unknown Source)
  | 	at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
  | 	at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
  | 	at org.jboss.Main.boot(Main.java:200)
  | 	at org.jboss.Main$1.run(Main.java:508)
  | 	at java.lang.Thread.run(Thread.java:595)
  | Caused by: javax.management.NotCompliantMBeanException: Class does not expose a management interface: java.lang.Object
  | 	at org.jboss.mx.metadata.MBeanCapability.of(MBeanCapability.java:102)
  | 	at org.jboss.mx.metadata.MBeanCapability.of(MBeanCapability.java:100)
  | 	at org.jboss.mx.metadata.MBeanCapability.of(MBeanCapability.java:100)
  | 	at org.jboss.mx.metadata.MBeanCapability.of(MBeanCapability.java:100)
  | 	at org.jboss.mx.server.registry.BasicMBeanRegistry.registerMBean(BasicMBeanRegistry.java:182)
  | 	at sun.reflect.GeneratedMethodAccessor1.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.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
  | 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java: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.server.MBeanServerImpl$3.run(MBeanServerImpl.java:1422)
  | 	at java.security.AccessController.doPrivileged(Native Method)
  | 	at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:1417)
  | 	at org.jboss.mx.server.MBeanServerImpl.registerMBean(MBeanServerImpl.java:1350)
  | 	at org.jboss.mx.server.MBeanServerImpl.createMBean(MBeanServerImpl.java:345)
  | 	at org.jboss.system.ServiceCreator.install(ServiceCreator.java:157)
  | 	at org.jboss.system.ServiceConfigurator.internalInstall(ServiceConfigurator.java:449)
  | 	at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java:171)

I have a SAR file which is composed like that:

  | helloService.sar/META-INF/jboss-service.xml
  | helloService.sar/lib/helloService.jar
  | 

 In the jboss-service.xml 

  | <?xml version='1.0' encoding='UTF-8' ?>
  | <server>
  |   <mbean code="org.cap2j.jbp.service.HelloService"
  | 	name="cap2j:service=HelloService">
  | 	<attribute name="JndiName">inmemory/maps/MapTest</attribute>
  | 		<depends>jboss:service=Naming</depends>
  |   </mbean>
  | </server>
  | 

And I have an interface ItHelloService.java

  | public interface ItHelloService extends ServiceMBean{
  | 
  | 	public String getJndiName();
  | 	public void setJndiName(String jndiName) throws NamingException;
  | 	public void start() throws Exception;
  | 	public void stop() throws Exception;
  | }
  | 

And the class HelloService.java

  | public class HelloService extends ServiceMBeanSupport implements ItHelloService {
  | 
  | 	private String jndiName;
  | 	private HashMap contextMap = new HashMap();
  | 	private boolean started;
  | 	public String getJndiName()	{
  | 		return jndiName;
  | 	}
  | 	
  | 	public void setJndiName(String jndiName) throws NamingException	{
  | 		String oldName = this.jndiName;
  | 		this.jndiName = jndiName;
  | 		if (started) {
  | 			unbind(oldName);
  | 			try {
  | 				rebind();
  | 			} catch(Exception e) {
  | 				NamingException ne = new NamingException("Failedto update jndiName");
  | 				ne.setRootCause(e);
  | 				throw ne;
  | 			}
  | 		}
  | 	}
  | 	
  | 	public void startService() throws Exception{
  | 		started = true;
  | 		rebind();
  | 	}
  | 	
  | 	public void stopService(){
  | 		started = false;
  | 		unbind(jndiName);
  | 	}
  | ...
  | }
  | 

This code come from the example of the documentation of JBoss 4.2.0
If you have a solution !
Thinks for regards

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4086759#4086759

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4086759



More information about the jboss-user mailing list