338 } 339 340 @Override 341 public Set<String> mbeanInterfaceNames() { 342 return threadMXBeanInterfaceNames; 343 } 344 345 @Override 346 public String getObjectNamePattern() { 347 return ManagementFactory.THREAD_MXBEAN_NAME; 348 } 349 350 @Override 351 public Map<String, ThreadMXBean> nameToMBeanMap() { 352 return Collections.singletonMap( 353 ManagementFactory.THREAD_MXBEAN_NAME, 354 ManagementFactoryHelper.getThreadMXBean()); 355 } 356 }); 357 358 /** 359 * Logging facility. 360 */ 361 initMBeanList.add(new PlatformComponent<PlatformLoggingMXBean>() { 362 private final Set<String> platformLoggingMXBeanInterfaceNames 363 = Collections.unmodifiableSet(Collections.singleton( 364 "java.lang.management.PlatformLoggingMXBean")); 365 366 @Override 367 public Set<Class<? extends PlatformLoggingMXBean>> mbeanInterfaces() { 368 return Collections.singleton(PlatformLoggingMXBean.class); 369 } 370 371 @Override 372 public Set<String> mbeanInterfaceNames() { 373 return platformLoggingMXBeanInterfaceNames; 374 } 375 376 @Override 377 public String getObjectNamePattern() { 378 return "java.util.logging:type=Logging"; 379 } 380 381 @Override 382 public Map<String, PlatformLoggingMXBean> nameToMBeanMap() { 383 return Collections.singletonMap( 384 "java.util.logging:type=Logging", 385 ManagementFactoryHelper.getPlatformLoggingMXBean()); 386 } 387 }); 388 389 /** 390 * Buffer pools. 391 */ 392 initMBeanList.add(new PlatformComponent<BufferPoolMXBean>() { 393 private final Set<String> bufferPoolMXBeanInterfaceNames 394 = Collections.unmodifiableSet(Collections.singleton( 395 "java.lang.management.BufferPoolMXBean")); 396 397 @Override 398 public Set<Class<? extends BufferPoolMXBean>> mbeanInterfaces() { 399 return Collections.singleton(BufferPoolMXBean.class); 400 } 401 402 @Override 403 public Set<String> mbeanInterfaceNames() { 404 return bufferPoolMXBeanInterfaceNames; 405 } 406 407 @Override | 338 } 339 340 @Override 341 public Set<String> mbeanInterfaceNames() { 342 return threadMXBeanInterfaceNames; 343 } 344 345 @Override 346 public String getObjectNamePattern() { 347 return ManagementFactory.THREAD_MXBEAN_NAME; 348 } 349 350 @Override 351 public Map<String, ThreadMXBean> nameToMBeanMap() { 352 return Collections.singletonMap( 353 ManagementFactory.THREAD_MXBEAN_NAME, 354 ManagementFactoryHelper.getThreadMXBean()); 355 } 356 }); 357 358 if (ManagementFactoryHelper.isPlatformLoggingMXBeanAvailable()) { 359 /** 360 * Logging facility. 361 */ 362 initMBeanList.add(new PlatformComponent<PlatformLoggingMXBean>() { 363 private final Set<String> platformLoggingMXBeanInterfaceNames 364 = Collections.unmodifiableSet(Collections.singleton( 365 "java.lang.management.PlatformLoggingMXBean")); 366 367 @Override 368 public Set<Class<? extends PlatformLoggingMXBean>> mbeanInterfaces() { 369 return Collections.singleton(PlatformLoggingMXBean.class); 370 } 371 372 @Override 373 public Set<String> mbeanInterfaceNames() { 374 return platformLoggingMXBeanInterfaceNames; 375 } 376 377 @Override 378 public String getObjectNamePattern() { 379 return "java.util.logging:type=Logging"; 380 } 381 382 @Override 383 public Map<String, PlatformLoggingMXBean> nameToMBeanMap() { 384 return Collections.singletonMap( 385 "java.util.logging:type=Logging", 386 ManagementFactoryHelper.getPlatformLoggingMXBean()); 387 } 388 }); 389 } 390 391 /** 392 * Buffer pools. 393 */ 394 initMBeanList.add(new PlatformComponent<BufferPoolMXBean>() { 395 private final Set<String> bufferPoolMXBeanInterfaceNames 396 = Collections.unmodifiableSet(Collections.singleton( 397 "java.lang.management.BufferPoolMXBean")); 398 399 @Override 400 public Set<Class<? extends BufferPoolMXBean>> mbeanInterfaces() { 401 return Collections.singleton(BufferPoolMXBean.class); 402 } 403 404 @Override 405 public Set<String> mbeanInterfaceNames() { 406 return bufferPoolMXBeanInterfaceNames; 407 } 408 409 @Override |