Hi guys,

I believe there's a difference between Attribute names, and navigation
into complex attributes.

At the MBean level attribute names are case sensitive.
At Attribute level (= within an attribute) I believe it follows
the Bean patterns (like for instance the mapping of complex
MXBean attribute types to CompositeData).
A property of an Attribute (as in MemoryUsage.used) is not itself
an Attribute - but a bean property.

A careful reading of the JMX 1.4 spec should hopefully make it possible
to validate that ;-)

cheers,

-- daniel

On 19/06/15 14:05, Jaroslav Bachorik wrote:
On 19.6.2015 13:44, Alan Bateman wrote:

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.

I'm not sure there is an issue here. The monitoring api attribute names
seem to be governed by different rules than the MBean attribute names.
This change relates to the monitoring api only and brings the
implementation up to the what is specified in the javadoc.

-JB-


-Alan.


Reply via email to