RFR: 8065213 Specify and implement PlatformMBeanProvider for looking for all platform MBeans

Mandy Chung mandy.chung at oracle.com
Thu Jan 29 19:48:31 UTC 2015


On 1/29/15 3:07 AM, Daniel Fuchs wrote:
> On 28/01/15 07:46, Mandy Chung wrote:
>> com/sun/management/internal/PlatformMBeanProviderImpl.java
>>     line 43: does this mxbeanList have to be created lazily?
>>     Would it be better to make it a final field and create it at the
>> constructor?
>
> Hi Mandy,
>
> I was the one to suggest the lazy initialization.
> Given that the constructor is going to be invoked by the
> ServiceLoader, I thought it would be better to delay any
> heavy initialization until such time that the loaded
> service provider is actually used.
>

These providers will need to be loaded and the mxbeanList will be looked 
at except for the cases that we are sure that the MXBean only comes from 
the default provider.  I see the cost of constructing mxbeanList 
involves loading several classes.  If performance is an issue, perhaps 
the fast-path would be in ManagementFactory to defer loading providers 
and may be better to follow up the performance side in the second phase 
(that I expect more changes to sun/management classes)

You may want to consider using limited doPrivileged (that can be done in 
the second phase).

Mandy

> best regards,
>
> -- daniel



More information about the serviceability-dev mailing list