|
From: Juergen H. <ju...@in...> - 2005-01-13 20:58:48
|
Rob, everybody, I've finally committed the reworked and reorganized JMX support I've been working on for the past couple of days. As announced, I've removed the CGLIB proxy stuff and used the JavaBeans infrastructure for method-to-property detection. In the course of that, I've also removed the option to suppress invalid invocations, because I didn't see the point in this - if a call comes in on a proxy that's supposed to delegate to an MBean, why return null if there's no corresponding MBean attribute or operation? IMO, the correct behavior is to throw an exception in such a case - always. Furthermore, I did some reorganization of the org.springframework.jmx subpackages. I've renamed "proxy" to "access", as it features an MBeanClientInterceptor and MBeanProxyFactoryBean now, analogous to our EJB access classes. I've renamed all "JmxMBean*" classes to "MBean*", as this is expressive enough, in my opinion; after all, everything resides in the "jmx" package anyway. I've kept the adapter host support, but reworked it into direct method calls. The abstract base class for reflection-based adapter access looked quite complicated to me. I usually prefer plain old method calls: certainly not a problem with the JMX RI HtmlAdaptorServer. Therefore, I've reimplemented HtmlAdapterHost that way. Reflection should only be a last resort if we're not allowed to ship the classes that we're coding against. Feedback welcome, of course! If there's something that I accidentally broke or was over-eager to remove (despite there being a good use case for it), please let me know. In general, I like the current structure and feature set. The major gap to close to make the JMX support ready for Spring 1.2 RC1 is the javadoc and documentation - and of course, testing it against a couple of JMX implementations. Juergen |