[10] RFR(M) 8182701: Modify JVMCI to allow Graal Compiler to expose platform MBean

mandy chung mandy.chung at oracle.com
Wed Sep 13 15:23:22 UTC 2017



On 9/13/17 2:28 AM, Daniel Fuchs wrote:
> Hi Jaroslav,
>
> GraalMBeans.java:
>
>   77         @Override
>   78         public Set<String> mbeanInterfaceNames() {
>   79             return Collections.singleton(name);
>   80         }

Good catch, Daniel.  This should return empty set as mbeanInterfaces() 
returns.  mbeanInterfaceNames returns the class name of the mbean 
interfaces.

Mandy
>
> This is not correct. The return set should be a set of
> MXBean interface names, as in Class.getName(), not a set
> of MXBean ObjectName strings.
>
> The interface in question must be implemented by the
> concrete MBean instance and must be a subclass of
> PlatformManagedObject.
>
> It is not required for an MBean to implement such
> an interface - if it doesn't then it simply won't
> be obtainable from ManagementFactory::getPlatformMXBean
> or ManagementFactory::getPlatformMXBeans.
>
> So I suspect that in your case, since mbeanInterfaces()
> returns an empty set then mbeanInterfaceNames() should
> also return an empty set.
>
> IIRC mbeanInterfaceNames() was introduced so that
> you could query for a particular MBean implementing
> a given interface without necessarily triggering the
> loading and initialization of all interfaces implemented
> by all MBeans.
>
> best regards,
>
> -- daniel
>
>
>
> On 12/09/2017 18:44, Jaroslav Tulach wrote:
>> Dear reviewers,
>> after several reconsiderations I have webrev #4 ready for your 
>> review. Can you
>> please take a look at
>>
>> http://cr.openjdk.java.net/~jtulach/8182701/webrev.04/
>>
>> and let me know if it is in a reasonable shape? Thanks a lot.
>> -jt
>>
>



More information about the hotspot-compiler-dev mailing list