Java:我们可以重用MBeanServerConnection吗?

时间:2014-04-23 08:13:04

标签: java jmx

  1. 我们可以将MBeanServerConnection对象分配给静态变量并重用吗?
  2. 如果是,我们需要在哪一刻调用JMXConnector.close()方法?

     public class MyClass
     {
         public static JMXConnector jmxc = . . .
         public static MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
    
         .........
    
    
         public logSomeJmxStats() 
         {
            mbsc.invoke(.....)
         }
    
         public updateSomeJmxStats() 
         {
            mbsc.invoke(.....)
         }
    }
    
  3. 此Java类由作为服务运行的Java应用程序使用。

1 个答案:

答案 0 :(得分:1)

这来自JMXConnector.getMBeanServerConnection的文档:

  

对于给定的JMXConnector和Subject,两次成功调用   方法通常会返回相同的MBeanServerConnection对象,   虽然这不是必需的。

所以我认为你可以安全地重复使用它。虽然不重复使用它可能会更安全。

如果没有人再次使用连接,你应该打电话给关闭。如果不将连接放在静态字段而是实例字段中,则可能更容易实现。因此,当您关闭应用程序时,您可以挂钩并关闭连接。