1 Reply Latest reply on Jun 20, 2005 9:51 AM by dimitris

    Problem querying MBeans

    jammann

      Hi

      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

        • 1. Re: Problem querying MBeans
          dimitris

          Change twiddle.bat as follows:

          ...
          rem Setup JBoss sepecific properties
          set JBOSS_HOME=%DIRNAME%\..
          set JBOSS_ENDORSED_DIRS=%JBOSS_HOME%\lib\endorsed
          set JAVA_OPTS=%JAVA_OPTS% -Djboss.boot.loader.name=%PROGNAME%
          
          %JAVA% %JAVA_OPTS% "-Djava.endorsed.dirs=%JBOSS_ENDORSED_DIRS%" -classpath "%JBOSS_CLASSPATH%" %MAIN_CLASS% %ARGS%
          
          :END
          


          The fix was discussed here:

          http://jira.jboss.com/jira/browse/JBAS-1787

          Thanks everybody, I'll check this is asap.