1 Reply Latest reply on Feb 13, 2008 5:54 AM by Adrian Brock

    JBAS-1268 - NotSerializable descriptors content

    Adrian Brock Master

      This is an old bug that we fixed in JBossMX but since JDK5 overrides
      the javax.management.* to the JDK classes, this is now a Sun bug.

      I've asked the spec lead whether he would fix it, but he didn't want to do
      the extra work that JBossMX does to fix the problem. i.e. try to serializable
      the descriptor value and ignore it when it isn't actually serializalbe.

      NOTE: The specific problem reported on JBAS-1268, has an alternate fix in 4.2.x
      since MBeanProxyExt is now "serializable" with the MBeanServer
      replaced with an RMIAdapter/MBeanServerConnection for remote usage,
      see jmx-invoker-service.xml

       <!--
       Choose the remote proxy to expose mbean proxies over
       -->
       <mbean code="org.jboss.jmx.connector.invoker.MBeanProxyRemote"
       name="jboss.jmx:type=adaptor,name=MBeanProxyRemote,protocol=jrmp">
       <depends optional-attribute-name="MBeanServerConnection">jboss.jmx:type=adaptor,name=Invoker,protocol=jrmp,service=proxyFactory</depends>
       </mbean>
      


        • 1. Re: JBAS-1268 - NotSerializable descriptors content
          Adrian Brock Master

          Since this is really a Sun bug and they refuse to fix it, the only other fix
          would be to not put non-serializable objects in the Descriptor.

          This occurs mostly due the attribute caching when using an XMBean,
          so we could disable attribute caching in those descriptors we provide?

          e.g.

          <descriptors>
           <currencyTimeLimit>-1</currencyTimeLimit>
          </descriptors>
          


          or just remove the attribute caching by default (it is optional in the spec)
          i.e. don't install the attribute interceptor unless there is an explicit currencyTimeLimit
          descriptor.