- 我们可以将 MBeanServerConnection 对象分配给静态变量并重用吗?
如果是,我们需要在哪一刻调用 JMXConnector.close() 方法?
public class MyClass { public static JMXConnector jmxc = . . . public static MBeanServerConnection mbsc = jmxc.getMBeanServerConnection(); ......... public logSomeJmxStats() { mbsc.invoke(.....) } public updateSomeJmxStats() { mbsc.invoke(.....) } }
该 Java 类由作为服务运行的 Java 应用程序使用。
最佳答案
这来自 JMXConnector.getMBeanServerConnection 的文档:
For a given JMXConnector and Subject, two successful calls to this method will usually return the same MBeanServerConnection object, though this is not required.
所以我认为您可以安全地重复使用它。尽管不重复使用它可能会更安全。
如果没有人要再次使用连接,您应该调用 close 。如果您不将连接放在静态字段中而是放在实例字段中,这可能会更容易实现。因此,当您关闭应用程序时,您可以挂接该应用程序并关闭连接。
关于Java:我们可以毫无问题地重用 MBeanServerConnection 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23238533/