Problem querying MBeans
jammann Jun 18, 2005 6:05 PMHi
I have implemented a couple of MBeans in a JBoss 4.0.1sp1 Microkernel. Together, they basically implement a simple "SOAP-over-MQ-Series" server.
Everything works from the functional point of view, but when I want to monitor my MBeans (e.g. with twiddle or MC4J), I get errors on many of them. I can't even query the MBeanInfo.
I tracked this down to be those of my MBeans, that have some attribute that is not a simple value, but an XML element. Sure enough, if I add such an attribute to an MBean that is working, it also shows the error.
In, twiddle.sh, what I get is:
23:38:08,605 ERROR [Twiddle] Exec failed
java.io.StreamCorruptedException: Null descriptor?
at javax.management.modelmbean.DescriptorSupport.readObject(DescriptorSupport.java:673)
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 java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.access$300(ObjectInputStream.java:166)
at java.io.ObjectInputStream$GetFieldImpl.readFields(ObjectInputStream.java:2006)
at java.io.ObjectInputStream.readFields(ObjectInputStream.java:491)
at javax.management.modelmbean.ModelMBeanAttributeInfo.readObject(ModelMBeanAttributeInfo.java:278)
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 java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1603)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1271)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:119)
at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:163)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:103)
at org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor.invoke(InvokerAdaptorClientInterceptor.java:51)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:59)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:91)
at $Proxy0.getMBeanInfo(Unknown Source)
at org.jboss.console.twiddle.command.InfoCommand.execute(InfoCommand.java:
Could anybody give me a hint what is wrong with my MBeans?
CU, Joe