jdk/src/java.management/share/classes/java/lang/management/DefaultPlatformMBeanProvider.java
equal
deleted
inserted
replaced
31 import java.util.Map; |
31 import java.util.Map; |
32 import java.util.Set; |
32 import java.util.Set; |
33 import java.util.function.Function; |
33 import java.util.function.Function; |
34 import java.util.stream.Collectors; |
34 import java.util.stream.Collectors; |
35 import java.util.stream.Stream; |
35 import java.util.stream.Stream; |
36 import javax.management.DynamicMBean; |
|
37 import javax.management.ObjectName; |
36 import javax.management.ObjectName; |
38 import sun.management.ManagementFactoryHelper; |
37 import sun.management.ManagementFactoryHelper; |
39 import sun.management.spi.PlatformMBeanProvider; |
38 import sun.management.spi.PlatformMBeanProvider; |
40 |
39 |
41 class DefaultPlatformMBeanProvider extends PlatformMBeanProvider { |
40 class DefaultPlatformMBeanProvider extends PlatformMBeanProvider { |
160 "java.lang.management.GarbageCollectorMXBean") |
159 "java.lang.management.GarbageCollectorMXBean") |
161 .collect(Collectors.toSet())); |
160 .collect(Collectors.toSet())); |
162 @Override |
161 @Override |
163 public Set<Class<? extends MemoryManagerMXBean>> mbeanInterfaces() { |
162 public Set<Class<? extends MemoryManagerMXBean>> mbeanInterfaces() { |
164 return Stream.of(MemoryManagerMXBean.class, |
163 return Stream.of(MemoryManagerMXBean.class, |
165 GarbageCollectorMXBean.class, |
164 GarbageCollectorMXBean.class).collect(Collectors.toSet()); |
166 com.sun.management.GarbageCollectorMXBean.class).collect(Collectors.toSet()); |
|
167 } |
165 } |
168 |
166 |
169 @Override |
167 @Override |
170 public Set<String> mbeanInterfaceNames() { |
168 public Set<String> mbeanInterfaceNames() { |
171 return garbageCollectorMXBeanInterfaceNames; |
169 return garbageCollectorMXBeanInterfaceNames; |
462 ManagementFactoryHelper.getOperatingSystemMXBean()); |
460 ManagementFactoryHelper.getOperatingSystemMXBean()); |
463 } |
461 } |
464 |
462 |
465 }); |
463 }); |
466 |
464 |
467 /** |
|
468 * DynamicMBean |
|
469 */ |
|
470 HashMap<ObjectName, DynamicMBean> dynmbeans |
|
471 = ManagementFactoryHelper.getPlatformDynamicMBeans(); |
|
472 final Set<String> dynamicMBeanInterfaceNames = |
|
473 Collections.unmodifiableSet(Collections.singleton("javax.management.DynamicMBean")); |
|
474 for (Map.Entry<ObjectName, DynamicMBean> e : dynmbeans.entrySet()) { |
|
475 initMBeanList.add(new PlatformComponent<DynamicMBean>() { |
|
476 @Override |
|
477 public Set<Class<? extends DynamicMBean>> mbeanInterfaces() { |
|
478 return Collections.emptySet(); |
|
479 } |
|
480 |
|
481 @Override |
|
482 public Set<String> mbeanInterfaceNames() { |
|
483 return dynamicMBeanInterfaceNames; |
|
484 } |
|
485 |
|
486 @Override |
|
487 public String getObjectNamePattern() { |
|
488 return e.getKey().getCanonicalName(); |
|
489 } |
|
490 |
|
491 @Override |
|
492 public Map<String, DynamicMBean> nameToMBeanMap() { |
|
493 return Collections.<String, DynamicMBean>singletonMap( |
|
494 e.getKey().getCanonicalName(), |
|
495 e.getValue()); |
|
496 } |
|
497 }); |
|
498 } |
|
499 |
|
500 initMBeanList.trimToSize(); |
465 initMBeanList.trimToSize(); |
501 return initMBeanList; |
466 return initMBeanList; |
502 } |
467 } |
503 } |
468 } |