The JMX Monitor API is specified to use the Java Beans introspector for complex types others than CompositeData or arrays. This dependency is undesirable because JavaBeans is very tied to AWT. I'd like to address this dependency. The main observation is that if explicit information is available (ie: XXXBeanInfo exists) then the application's dependency will require Java Beans to be present. In that case, the Java Beans introspector should be used and everywhere works as it does now. On the other hand, if explicit information is not available, then the introspector uses reflection to identity the property accessors. That case should not require the module containing Java Beans to be installed and if not installed, we can use a fallback mechanism to identity the property methods. I had a short call with Éamonn about this and he agreed that this approach is okay (and made useful suggestions to avoid duplicating some of the existing JMX introspection code). I've put the webrev the proposed changes here:
http://cr.openjdk.java.net/~alanb/6888171/webrev.00
Thanks, Alan.