Java SE 6's JMX Platform Server provides both a ReflectionException and an IntrospectionException. Both of these JMX-provided exception classes extend the checked JMX-provider exception JMException. The
java.management.ReflectionException
extends javax.management.JMException
directly while javax.management.IntrospectionException
extends javax.management.OperationsException
which extends JMException
.There are a few good resources on the differences between introspection and reflection, though for the purposes of most of us writing JMX-enabled code, these are not usually significant.
In Java Reference Guide: RXML, Stephen Haines provides a nice overview of Reflection versus Introspection.
The Java Tutorials Reflection API Trail talks about reflection (including situations in which it is not appropriate) and the Java Tutorials JavaBeans Concepts Lesson also talks about introspection on JavaBeans and the use of "core reflection" to do this.
Dr. Ira Forman and Nate Forman provide a nice article called Java Reflection in Action (same title as their book) that provides an interesting description of Java reflection and introspection. They refer to reflection as "introspection followed by behavior change." This best fits my understanding of the reflection and introspection and seems to align well with the Javadoc descriptions for the JMX classes cited above.
No comments:
Post a Comment