JmxClient.java 文件源码

java
阅读 26 收藏 0 点赞 0 评论 0

项目:holter 作者:
public Object getJmxItem(String serviceUrl, String objectName, String attributeName,
    String itemName) throws InvalidKeyException, AttributeNotFoundException, MBeanException,
    MalformedObjectNameException, InstanceNotFoundException, MalformedURLException, IOException,
    Exception {

  try (JMXConnector jmxc = JMXConnectorFactory.connect(new JMXServiceURL(serviceUrl), null)) {

    MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();

    ObjectName mbeanName = new ObjectName(objectName);

    Object returnedObject = mbsc.getAttribute(mbeanName, attributeName);

    if (returnedObject instanceof CompositeDataSupport) {
      // logger.error("item name info:");
      // if (itemName.isEmpty()) {
      // logger.error("item name is empty");
      // }
      // if (itemName == "") {
      // logger.error("item name == \"\"");
      // }
      // logger.error("item name length is " + itemName.length());

      CompositeData compositeDataObject = (CompositeData) returnedObject;

      if (!itemName.isEmpty()) {
        return compositeDataObject.get(itemName);
      } else {
        return compositeDataObject.values().toString();
      }
    } else {
      return returnedObject;
    }
  } catch (Exception exc) {
    logger.error("Exception caught: " + exc.getMessage());
    return exc.getMessage();
  }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号