javax.management.AttributeList类的使用及代码示例

x33g5p2x  于2022-01-15 转载在 其他  
字(13.6k)|赞(0)|评价(0)|浏览(128)

本文整理了Java中javax.management.AttributeList类的一些代码示例,展示了AttributeList类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AttributeList类的具体详情如下:
包路径:javax.management.AttributeList
类名称:AttributeList

AttributeList介绍

暂无

代码示例

代码示例来源:origin: wildfly/wildfly

public AttributeList setAttributes(AttributeList list) {
  AttributeList results=new AttributeList();
  for(int i=0;i < list.size();i++) {
    Attribute attr=(Attribute)list.get(i);
    if(setNamedAttribute(attr))
      results.add(attr);
    else {
      if(log.isWarnEnabled())
        log.warn("Failed to update attribute name " + attr.getName() + " with value " + attr.getValue());
    }
  }
  return results;
}

代码示例来源:origin: prestodb/presto

private ImmutableMap<String, Optional<Object>> getAttributes(Set<String> uniqueColumnNames, String name)
    throws JMException
{
  ObjectName objectName = new ObjectName(name);
  String[] columnNamesArray = uniqueColumnNames.toArray(new String[uniqueColumnNames.size()]);
  ImmutableMap.Builder<String, Optional<Object>> attributes = ImmutableMap.builder();
  for (Attribute attribute : mbeanServer.getAttributes(objectName, columnNamesArray).asList()) {
    attributes.put(attribute.getName(), Optional.ofNullable(attribute.getValue()));
  }
  return attributes.build();
}

代码示例来源:origin: log4j/log4j

throw new RuntimeOperationsException(
        new IllegalArgumentException("AttributeList attributes cannot be null"),
    "Cannot invoke a setter of " + dClassName);
AttributeList resultList = new AttributeList();
if (attributes.isEmpty())
 return resultList;
for (Iterator i = attributes.iterator(); i.hasNext();) {
 Attribute attr = (Attribute) i.next();
 try {
setAttribute(attr);
String name = attr.getName();
Object value = getAttribute(name);
resultList.add(new Attribute(name,value));
 } catch(JMException e) {
  e.printStackTrace();

代码示例来源:origin: apache/kafka

@Override
public AttributeList getAttributes(String[] names) {
  AttributeList list = new AttributeList();
  for (String name : names) {
    try {
      list.add(new Attribute(name, getAttribute(name)));
    } catch (Exception e) {
      log.warn("Error getting JMX attribute '{}'", name, e);
    }
  }
  return list;
}

代码示例来源:origin: stackoverflow.com

public static double getProcessCpuLoad() throws Exception {

  MBeanServer mbs    = ManagementFactory.getPlatformMBeanServer();
  ObjectName name    = ObjectName.getInstance("java.lang:type=OperatingSystem");
  AttributeList list = mbs.getAttributes(name, new String[]{ "ProcessCpuLoad" });

  if (list.isEmpty())     return Double.NaN;

  Attribute att = (Attribute)list.get(0);
  Double value  = (Double)att.getValue();

  // usually takes a couple of seconds before we get real values
  if (value == -1.0)      return Double.NaN;
  // returns a percentage value with 1 decimal point precision
  return ((int)(value * 1000) / 10.0);
}

代码示例来源:origin: apache/hive

@Override
public AttributeList setAttributes(AttributeList arg0) {
  AttributeList attributesSet = new AttributeList();
  for (Attribute attr : arg0.asList()) {
    try {
      setAttribute(attr);
      attributesSet.add(attr);
    } catch (AttributeNotFoundException e) {
      // ignore exception - we simply don't add this attribute
      // back in to the resultant set.
    } catch (InvalidAttributeValueException e) {
      // ditto
    } catch (MBeanException e) {
      // likewise
    } catch (ReflectionException e) {
      // and again, one last time.
    }
  }
  return attributesSet;
}

代码示例来源:origin: wildfly/wildfly

private Map<String, String> getMBeanValues(MBeanServerConnection cnx, ObjectName on, String ... attributeNames)
    throws InstanceNotFoundException, IOException, ReflectionException, IntrospectionException {
  if (attributeNames == null) {
    MBeanInfo info = cnx.getMBeanInfo( on );
    MBeanAttributeInfo[] attributeArray = info.getAttributes();
    int i = 0;
    attributeNames = new String[attributeArray.length];
    for (MBeanAttributeInfo ai : attributeArray)
      attributeNames[i++] = ai.getName();
  }
  AttributeList attributes = cnx.getAttributes(on, attributeNames);
  Map<String, String> values = new HashMap<String, String>();
  for (javax.management.Attribute attribute : attributes.asList()) {
    Object value = attribute.getValue();
    values.put(attribute.getName(), value == null ? "" : value.toString());
  }
  return values;
}

代码示例来源:origin: log4j/log4j

/**
 * Enables the to get the values of several attributes of the Dynamic MBean.
 */
public
AttributeList getAttributes(String[] attributeNames) {
 // Check attributeNames is not null to avoid NullPointerException later on
 if (attributeNames == null) {
  throw new RuntimeOperationsException(
       new IllegalArgumentException("attributeNames[] cannot be null"),
       "Cannot invoke a getter of " + dClassName);
 }
 AttributeList resultList = new AttributeList();
 // if attributeNames is empty, return an empty result list
 if (attributeNames.length == 0)
  return resultList;
 // build the result attribute list
 for (int i=0 ; i<attributeNames.length ; i++){
  try {
 Object value = getAttribute((String) attributeNames[i]);
 resultList.add(new Attribute(attributeNames[i],value));
  } catch (JMException e) {
    e.printStackTrace();
  } catch (RuntimeException e) {
    e.printStackTrace();
  }
 }
 return(resultList);
}

代码示例来源:origin: rhuss/jolokia

public AttributeList setAttributes(AttributeList attributes)
{
 Iterator iterator = attributes.iterator();
 AttributeList newValues = new AttributeList(attributes.size());
 while (iterator.hasNext())
 {
  Attribute attribute = (Attribute) iterator.next();
  try
  {
   setAttribute(attribute);
  } catch (Exception exc)
  {
   attribute = new Attribute(attribute.getName(), exc);
  }
  newValues.add(attribute);
 }
 return newValues;
}

代码示例来源:origin: espertechinc/esper

public Map<String, BufferPoolStats> getBufferPoolStats() {
    try {
      final String[] attributes = {"Count", "MemoryUsed", "TotalCapacity"};

      final ObjectName direct = new ObjectName("java.nio:type=BufferPool,name=direct");
      final ObjectName mapped = new ObjectName("java.nio:type=BufferPool,name=mapped");

      final AttributeList directAttributes = mBeanServer.getAttributes(direct, attributes);
      final AttributeList mappedAttributes = mBeanServer.getAttributes(mapped, attributes);

      final Map<String, BufferPoolStats> stats = new TreeMap<String, BufferPoolStats>();

      final BufferPoolStats directStats = new BufferPoolStats((Long) ((Attribute) directAttributes.get(0)).getValue(),
          (Long) ((Attribute) directAttributes.get(1)).getValue(),
          (Long) ((Attribute) directAttributes.get(2)).getValue());

      stats.put("direct", directStats);

      final BufferPoolStats mappedStats = new BufferPoolStats((Long) ((Attribute) mappedAttributes.get(0)).getValue(),
          (Long) ((Attribute) mappedAttributes.get(1)).getValue(),
          (Long) ((Attribute) mappedAttributes.get(2)).getValue());

      stats.put("mapped", mappedStats);

      return Collections.unmodifiableMap(stats);
    } catch (JMException e) {
      return Collections.emptyMap();
    }
  }
}

代码示例来源:origin: apache/geode

@Override
public AttributeList setAttributes(AttributeList attributes) {
 if (attributes == null)
  throw new RuntimeOperationsException(new IllegalArgumentException(
    "Attribute list cannot be null."));
 Logger logger = getLogger();
 AttributeList list = new AttributeList();
 for (Iterator i = attributes.iterator(); i.hasNext();) {
  Attribute attribute = (Attribute) i.next();
  String name = attribute.getName();
  try {
   setAttribute(attribute);
   list.add(attribute);
  } catch (Exception x) {
   if (logger.isEnabledFor(Logger.TRACE))
    logger.trace("setAttribute for attribute " + name + " failed", x);
   // And go on with the next one
  }
 }
 return list;
}

代码示例来源:origin: jmxtrans/jmxtrans

public void walkTree(MBeanServerConnection connection) throws Exception {
  // key here is null, null returns everything!
  Set<ObjectName> mbeans = connection.queryNames(null, null);
  for (ObjectName name : mbeans) {
    MBeanInfo info = connection.getMBeanInfo(name);
    MBeanAttributeInfo[] attrs = info.getAttributes();
    String[] attrNames = new String[attrs.length];
    for (int i = 0; i < attrs.length; i++) {
      attrNames[i] = attrs[i].getName();
    }
    try {
      AttributeList attributes = connection.getAttributes(name, attrNames);
      for (Attribute attribute : attributes.asList()) {
        output(name.getCanonicalName() + "%" + attribute.getName(), attribute.getValue());
      }
    } catch (Exception e) {
      log.error("error getting " + name + ":" + e.getMessage(), e);
    }
  }
}

代码示例来源:origin: prometheus/jmx_exporter

private void scrapeBean(MBeanServerConnection beanConn, ObjectName mbeanName) {
  MBeanInfo info;
  try {
   info = beanConn.getMBeanInfo(mbeanName);
  } catch (IOException e) {
   logScrape(mbeanName.toString(), "getMBeanInfo Fail: " + e);
   return;
  } catch (JMException e) {
   logScrape(mbeanName.toString(), "getMBeanInfo Fail: " + e);
   return;
    attributes = beanConn.getAttributes(mbeanName, name2AttrInfo.keySet().toArray(new String[0]));
  } catch (Exception e) {
    logScrape(mbeanName, name2AttrInfo.keySet(), "Fail: " + e);
    return;
  for (Attribute attribute : attributes.asList()) {
    MBeanAttributeInfo attr = name2AttrInfo.get(attribute.getName());
    logScrape(mbeanName, attr, "process");
    processBeanValue(
        mbeanName.getDomain(),
        jmxMBeanPropertyCache.getKeyPropertyList(mbeanName),
        new LinkedList<String>(),
        attr.getType(),
        attr.getDescription(),
        attribute.getValue()
    );

代码示例来源:origin: com.mycila/mycila-jmx

@Override
public AttributeList setAttributes(AttributeList attributes) {
  // validation from javax.management.modelmbean.RequiredModelMBean
  if (attributes == null)
    throw new RuntimeOperationsException(new IllegalArgumentException("attributes must not be null"), "Exception occurred trying to set attributes of a " + getClass().getSimpleName());
  AttributeList list = new AttributeList();
  for (Attribute attribute : attributes.asList()) {
    try {
      JmxAttribute attr = getJmxMetadata().getAttribute(attribute.getName());
      attr.set(getManagedResource(), attribute.getValue());
      list.add(attribute);
    } catch (AttributeNotFoundException ignored) {
    } catch (ReflectionException ignored) {
    } catch (InvalidAttributeValueException ignored) {
    }
  }
  return list;
}

代码示例来源:origin: airlift/airlift

@Test
public void testGetAttributes()
    throws Exception
{
  assertEquals(mbeanServerConnection.getAttributes(testMBeanName, new String[] {"Value", "ObjectValue"}),
      new AttributeList(ImmutableList.of(new Attribute("Value", null), new Attribute("ObjectValue", null))));
  testMBean.setValue("FOO");
  testMBean.setObjectValue(UUID.randomUUID());
  assertEquals(mbeanServerConnection.getAttributes(testMBeanName, new String[] {"Value", "ObjectValue"}),
      new AttributeList(ImmutableList.of(new Attribute("Value", "FOO"), new Attribute("ObjectValue", testMBean.getObjectValue()))));
}

代码示例来源:origin: airlift/airlift

@Test
public void testSetAttributes()
    throws Exception
{
  UUID uuid = UUID.randomUUID();
  mbeanServerConnection.setAttributes(testMBeanName, new AttributeList(ImmutableList.of(new Attribute("Value", "Foo"), new Attribute("ObjectValue", uuid))));
  assertEquals(testMBean.getValue(), "Foo");
  assertEquals(testMBean.getObjectValue(), uuid);
  mbeanServerConnection.setAttributes(testMBeanName, new AttributeList(ImmutableList.of(new Attribute("Value", null), new Attribute("ObjectValue", null))));
  assertEquals(testMBean.getValue(), null);
  assertEquals(testMBean.getObjectValue(), null);
}

代码示例来源:origin: pinterest/doctorkafka

public static double getProcessCpuLoad(MBeanServerConnection mbs)
  throws MalformedObjectNameException, NullPointerException, InstanceNotFoundException,
      ReflectionException, IOException {
 ObjectName name = ObjectName.getInstance("java.lang:type=OperatingSystem");
 AttributeList list = mbs.getAttributes(name, new String[]{"ProcessCpuLoad"});
 if (list.isEmpty()) {
  return 0.0;
 }
 Attribute att = (Attribute) list.get(0);
 Double value = (Double) att.getValue();
 // usually takes a couple of seconds before we get real values
 if (value == -1.0) {
  return 0.0;
 }
 // returns a percentage value with 1 decimal point precision
 return ((int) (value * 1000) / 10.0);
}

代码示例来源:origin: jmxtrans/jmxtrans

public Iterable<Result> fetchResults(MBeanServerConnection mbeanServer, ObjectName queryName) throws InstanceNotFoundException, IntrospectionException, ReflectionException, IOException {
  ObjectInstance oi = mbeanServer.getObjectInstance(queryName);
  List<String> attributes;
  if (attr.isEmpty()) {
    attributes = new ArrayList<>();
    MBeanInfo info = mbeanServer.getMBeanInfo(queryName);
    for (MBeanAttributeInfo attrInfo : info.getAttributes()) {
      attributes.add(attrInfo.getName());
    }
  } else {
    attributes = attr;
  }
  try {
    if (!attributes.isEmpty()) {
      logger.debug("Executing queryName [{}] from query [{}]", queryName.getCanonicalName(), this);
      AttributeList al = mbeanServer.getAttributes(queryName, attributes.toArray(new String[attributes.size()]));
      return new JmxResultProcessor(this, oi, al.asList(), oi.getClassName(), queryName.getDomain()).getResults();
    }
  } catch (UnmarshalException ue) {
    if ((ue.getCause() != null) && (ue.getCause() instanceof ClassNotFoundException)) {
      logger.debug("Bad unmarshall, continuing. This is probably ok and due to something like this: "
          + "http://ehcache.org/xref/net/sf/ehcache/distribution/RMICacheManagerPeerListener.html#52", ue.getMessage());
    } else {
      throw ue;
    }
  }
  return ImmutableList.of();
}

代码示例来源:origin: vipshop/vjtools

mbsc.unregisterMBean(instance.getObjectName());
  return null;
} else if (subCommand.startsWith(CREATE_CMD_PREFIX)) {
MBeanAttributeInfo[] attributeInfo = mbsc.getMBeanInfo(instance.getObjectName()).getAttributes();
MBeanOperationInfo[] operationInfo = mbsc.getMBeanInfo(instance.getObjectName()).getOperations();
} else if (result instanceof AttributeList) {
  AttributeList list = (AttributeList) result;
  if (list.isEmpty()) {
    result = null;
  } else {
    StringBuffer buffer = new StringBuffer("\n");
    for (Iterator ii = list.iterator(); ii.hasNext();) {
      Attribute a = (Attribute) ii.next();
      buffer.append(a.getName());
      buffer.append(": ");
      buffer.append(a.getValue());
      buffer.append("\n");

代码示例来源:origin: apache/kafka

@Test
public void testGetAttributes() throws Exception {
  sensor.record(3.5);
  sensor.record(4.0);
  AttributeList attributeList = getAttributes(countMetricName, countMetricName.name(), sumMetricName.name());
  List<Attribute> attributes = attributeList.asList();
  assertEquals(2, attributes.size());
  for (Attribute attribute : attributes) {
    if (countMetricName.name().equals(attribute.getName()))
      assertEquals(2.0, attribute.getValue());
    else if (sumMetricName.name().equals(attribute.getName()))
      assertEquals(7.5, attribute.getValue());
    else
      fail("Unexpected attribute returned: " + attribute.getName());
  }
}

相关文章