On 19/06/2015 12:38, Jaroslav Bachorik wrote:
Both the j.b.Introspector.getReadMethod() and the
SimpleIntrospector.getReadMethod() are used only from
c.s.j.m.Introspector.elementFromComplex() method and only to resolve
the getter for a complex attribute.
So, any change in the SimpleIntrospector will not affect the rest of
the JMX system.
Given this statement in the Monitoring javadocs
(https://docs.oracle.com/javase/8/docs/api/javax/management/monitor/package-summary.html)
"If the above rules do not produce a value, and if introspection, as
if by calling Introspector.getBeanInfo, for the class of v
(v.getClass()) identifies a property with the name e, then x is the
result of reading the property value."
I would strongly propose to adjust the SimpleIntrospector to closely
follow the j.b.Introspector functionality.
I added the SimpleIntrospector and also adjusted the above wording in
the monitor package description to make it possible to have JMX in a
compact Profile of Java SE that didn't have java.beans.
The intention was that the SimpleIntrospector works like the beans
Introspector. So I agree this is the right thing to do but we should
create a bug for the issue that Daniel brings up.
-Alan.