jmx-dev 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 jmx-dev
mailing list