JMX-通过对该bean进行远程调用来注销MBean

时间:2018-06-26 09:58:47

标签: java rmi jmx

问候堆积如山的居民们! 我一直在努力应对潜在的有害行为。我正在使用方法'shutdown()'注册MBean。该方法执行的一部分是注销与其相关的MBean。从客户端,我正在启动本地管理代理。我用它来建立连接并调用上述方法。我正在接近MBean的注销过程的某个地方(随机;已调试):

  - Cause: java.net.SocketException - Connection reset
      at: SocketInputStream.read(SocketInputStream.java:210)

这是我调用它的方式:

vm = VirtualMachine.attach(String.valueOf(pid));
            final String connectorAddress = vm.startLocalManagementAgent();
            final JMXServiceURL url = new JMXServiceURL(connectorAddress);
            try (JMXConnector jmxConnector = JMXConnectorFactory.connect(url, null)) {
                connection = jmxConnector.getMBeanServerConnection();
                final ObjectName objName = extractMBeanName();
                connection.invoke(objName, METHOD_NAME, new Object[]{}, new String[]{});
            }

这带来了我的问题-JMX是否使用某种心跳机制? 我应该推迟从“ shutdown()”执行中取消注册该bean还是将其完全提取到另一个线程/进程中以完成调用而没有该异常?

致谢

0 个答案:

没有答案