2010-10-13 13 views
8

Có ai vui lòng làm rõ sự khác biệt giữa hai loại này không?ManagementFactory.getPlatformMBeanServer() vs MBeanServerFactory.createMBeanServer()

Javadoc thực sự mơ hồ vì sự hiểu biết đúng đắn của tôi.

Một điều tôi đã nhận thấy là nếu tôi sử dụng ManagementFactory.getPlatformMBeanServer() để đăng ký MBeans của mình, tôi có thể xem chúng trong Jconsole. Nhưng, không phải vậy nếu tôi sử dụng MBeanServerFactory.createMBeanServer().

Tại sao lại như vậy? Đó có phải là sự khác biệt duy nhất không?

Cảm ơn.

Trả lời

7

ManagementFactory.getPlatformMBeanServer() trả về tham chiếu đến máy chủ MBean hiện có trong JVM. JConsole xem xét các hạt cà phê trên máy chủ đó.

Nếu bạn sử dụng createMBeanServer(), điều đó sẽ tạo ra một máy chủ hoàn toàn mới. JConsole không có kiến ​​thức về nó, và như vậy sẽ không thấy đậu được đăng ký với nó.

Các vấn đề liên quan