Java Code Examples for javax.management.MBeanInfo#getAttributes()
The following examples show how to use
javax.management.MBeanInfo#getAttributes() .
These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: datakernel File: DynamicMBeanFactoryAttributesTest.java License: Apache License 2.0 | 6 votes |
@Test public void retreivesProperMBeanInfo() { MBeanWithSimpleAttrsAndPojo mbeanOneSample = new MBeanWithSimpleAttrsAndPojo("data", new SamplePojo(5, 100)); DynamicMBean mbean = createDynamicMBeanFor(mbeanOneSample); MBeanInfo mBeanInfo = mbean.getMBeanInfo(); MBeanAttributeInfo[] attributesInfoArr = mBeanInfo.getAttributes(); Map<String, MBeanAttributeInfo> nameToAttr = nameToAttribute(attributesInfoArr); assertEquals(3, nameToAttr.size()); assertTrue(nameToAttr.containsKey("info")); assertTrue(nameToAttr.get("info").isReadable()); assertTrue(nameToAttr.containsKey("details_count")); assertTrue(nameToAttr.get("details_count").isReadable()); assertTrue(nameToAttr.containsKey("details_sum")); assertTrue(nameToAttr.get("details_sum").isReadable()); }
Example 2
Source Project: hadoop File: JMXGet.java License: Apache License 2.0 | 6 votes |
public void printAllMatchedAttributes(String attrRegExp) throws Exception { err("List of the keys matching " + attrRegExp + " :"); Object val = null; Pattern p = Pattern.compile(attrRegExp); for (ObjectName oname : hadoopObjectNames) { err(">>>>>>>>jmx name: " + oname.getCanonicalKeyPropertyListString()); MBeanInfo mbinfo = mbsc.getMBeanInfo(oname); MBeanAttributeInfo[] mbinfos = mbinfo.getAttributes(); for (MBeanAttributeInfo mb : mbinfos) { if (p.matcher(mb.getName()).lookingAt()) { val = mbsc.getAttribute(oname, mb.getName()); System.out.format(format, mb.getName(), (val == null) ? "" : val.toString()); } } } }
Example 3
Source Project: dragonwell8_jdk File: MBeanIntrospector.java License: GNU General Public License v2.0 | 6 votes |
/** * Return the MBeanInfo for the given resource, based on the given * per-interface data. */ final MBeanInfo getMBeanInfo(Object resource, PerInterface<M> perInterface) { MBeanInfo mbi = getClassMBeanInfo(resource.getClass(), perInterface); MBeanNotificationInfo[] notifs = findNotifications(resource); if (notifs == null || notifs.length == 0) return mbi; else { return new MBeanInfo(mbi.getClassName(), mbi.getDescription(), mbi.getAttributes(), mbi.getConstructors(), mbi.getOperations(), notifs, mbi.getDescriptor()); } }
Example 4
Source Project: ankush File: JmxUtil.java License: GNU Lesser General Public License v3.0 | 6 votes |
/** * Gets the attribute name value map. * * @param objName * the obj name * @return the attribute name value map */ public Map<String, Object> getAttributes(ObjectName objName) { Map<String, Object> attrMap = null; try { MBeanInfo mbeanInfo = mbeanServerConnection.getMBeanInfo(objName); MBeanAttributeInfo[] mbeanAttributeInfo = mbeanInfo.getAttributes(); attrMap = new HashMap<String, Object>(); DecimalFormat df = new DecimalFormat("###.##"); for (int i = 0; i < mbeanAttributeInfo.length; i++) { String attrName = mbeanAttributeInfo[i].getName(); Object attrValue = getAttribute(objName, mbeanAttributeInfo[i].getName()); if (mbeanAttributeInfo[i].getType().equals("double")) { attrValue = df.format((Double) getAttribute(objName, mbeanAttributeInfo[i].getName())); } attrMap.put(attrName, attrValue); } } catch (Exception e) { LOGGER.error(e.getMessage(), e); } return attrMap; }
Example 5
Source Project: jdk8u-jdk File: MBeanIntrospector.java License: GNU General Public License v2.0 | 6 votes |
/** * Return the MBeanInfo for the given resource, based on the given * per-interface data. */ final MBeanInfo getMBeanInfo(Object resource, PerInterface<M> perInterface) { MBeanInfo mbi = getClassMBeanInfo(resource.getClass(), perInterface); MBeanNotificationInfo[] notifs = findNotifications(resource); if (notifs == null || notifs.length == 0) return mbi; else { return new MBeanInfo(mbi.getClassName(), mbi.getDescription(), mbi.getAttributes(), mbi.getConstructors(), mbi.getOperations(), notifs, mbi.getDescriptor()); } }
Example 6
Source Project: hottub File: OldMBeanServerTest.java License: GNU General Public License v2.0 | 6 votes |
private static void printAttrs( MBeanServerConnection mbsc1, Class<? extends Exception> expectX) throws Exception { Set<ObjectName> names = mbsc1.queryNames(null, null); for (ObjectName name : names) { System.out.println(name + ":"); MBeanInfo mbi = mbsc1.getMBeanInfo(name); MBeanAttributeInfo[] mbais = mbi.getAttributes(); for (MBeanAttributeInfo mbai : mbais) { String attr = mbai.getName(); Object value; try { value = mbsc1.getAttribute(name, attr); } catch (Exception e) { if (expectX != null && expectX.isInstance(e)) value = "<" + e + ">"; else throw e; } String s = " " + attr + " = " + value; if (s.length() > 80) s = s.substring(0, 77) + "..."; System.out.println(s); } } }
Example 7
Source Project: jdk8u60 File: AnnotationTest.java License: GNU General Public License v2.0 | 5 votes |
private static void check(MBeanServer mbs, ObjectName on) throws Exception { MBeanInfo mbi = mbs.getMBeanInfo(on); // check the MBean itself check(mbi); // check attributes MBeanAttributeInfo[] attrs = mbi.getAttributes(); for (MBeanAttributeInfo attr : attrs) { check(attr); if (attr.getName().equals("ReadOnly")) check("@Full", attr.getDescriptor(), expectedFullDescriptor); } // check operations MBeanOperationInfo[] ops = mbi.getOperations(); for (MBeanOperationInfo op : ops) { check(op); check(op.getSignature()); } MBeanConstructorInfo[] constrs = mbi.getConstructors(); for (MBeanConstructorInfo constr : constrs) { check(constr); check(constr.getSignature()); } }
Example 8
Source Project: jdk8u-dev-jdk File: StandardMBeanSupport.java License: GNU General Public License v2.0 | 5 votes |
@Override public MBeanInfo getMBeanInfo() { MBeanInfo mbi = super.getMBeanInfo(); Class<?> resourceClass = getResource().getClass(); if (StandardMBeanIntrospector.isDefinitelyImmutableInfo(resourceClass)) return mbi; return new MBeanInfo(mbi.getClassName(), mbi.getDescription(), mbi.getAttributes(), mbi.getConstructors(), mbi.getOperations(), MBeanIntrospector.findNotifications(getResource()), mbi.getDescriptor()); }
Example 9
Source Project: wildfly-core File: JmxInterfaceStandardRolesBasicTestCase.java License: GNU Lesser General Public License v2.1 | 5 votes |
private void readAttributeAccessInfo(JmxManagementInterface client, String address, String attribute, boolean read, boolean write) throws Exception { ObjectName objectName = new ObjectName(getJmxDomain() + ":" + address); MBeanInfo mBeanInfo = client.getConnection().getMBeanInfo(objectName); for (MBeanAttributeInfo attrInfo : mBeanInfo.getAttributes()) { if (attrInfo.getName().equals(attribute)) { Assert.assertEquals(read, attrInfo.isReadable()); Assert.assertEquals(write, attrInfo.isWritable()); return; } } fail("Attribute " + attribute + " not found at " + address); }
Example 10
Source Project: openjdk-8 File: StandardMBeanSupport.java License: GNU General Public License v2.0 | 5 votes |
@Override public MBeanInfo getMBeanInfo() { MBeanInfo mbi = super.getMBeanInfo(); Class<?> resourceClass = getResource().getClass(); if (StandardMBeanIntrospector.isDefinitelyImmutableInfo(resourceClass)) return mbi; return new MBeanInfo(mbi.getClassName(), mbi.getDescription(), mbi.getAttributes(), mbi.getConstructors(), mbi.getOperations(), MBeanIntrospector.findNotifications(getResource()), mbi.getDescriptor()); }
Example 11
Source Project: jdk8u60 File: StandardMBeanSupport.java License: GNU General Public License v2.0 | 5 votes |
@Override public MBeanInfo getMBeanInfo() { MBeanInfo mbi = super.getMBeanInfo(); Class<?> resourceClass = getResource().getClass(); if (StandardMBeanIntrospector.isDefinitelyImmutableInfo(resourceClass)) return mbi; return new MBeanInfo(mbi.getClassName(), mbi.getDescription(), mbi.getAttributes(), mbi.getConstructors(), mbi.getOperations(), MBeanIntrospector.findNotifications(getResource()), mbi.getDescriptor()); }
Example 12
Source Project: activemq-artemis File: ArtemisMBeanServerGuard.java License: Apache License 2.0 | 5 votes |
private void handleSetAttribute(MBeanServer proxy, ObjectName objectName, Attribute attribute) throws JMException, IOException { String dataType = null; MBeanInfo info = proxy.getMBeanInfo(objectName); for (MBeanAttributeInfo attr : info.getAttributes()) { if (attr.getName().equals(attribute.getName())) { dataType = attr.getType(); break; } } if (dataType == null) throw new IllegalStateException("Attribute data type can not be found"); handleInvoke(objectName, "set" + attribute.getName(), new Object[]{attribute.getValue()}, new String[]{dataType}); }
Example 13
Source Project: openjdk-jdk8u-backup File: MXBeanTest.java License: GNU General Public License v2.0 | 5 votes |
private static void testMXBean(MBeanServer mbs, ObjectName on) throws Exception { MBeanInfo mbi = mbs.getMBeanInfo(on); MBeanAttributeInfo[] attrs = mbi.getAttributes(); int nattrs = attrs.length; if (mbi.getAttributes().length != 1) failure("wrong number of attributes: " + attrs); else { MBeanAttributeInfo mbai = attrs[0]; if (mbai.getName().equals("Ints") && mbai.isReadable() && !mbai.isWritable() && mbai.getDescriptor().getFieldValue("openType") .equals(new ArrayType<int[]>(SimpleType.INTEGER, true)) && attrs[0].getType().equals("[I")) success("MBeanAttributeInfo"); else failure("MBeanAttributeInfo: " + mbai); } int[] ints = (int[]) mbs.getAttribute(on, "Ints"); if (equal(ints, new int[] {1, 2, 3}, null)) success("getAttribute"); else failure("getAttribute: " + Arrays.toString(ints)); ExplicitMXBean proxy = JMX.newMXBeanProxy(mbs, on, ExplicitMXBean.class); int[] pints = proxy.getInts(); if (equal(pints, new int[] {1, 2, 3}, null)) success("getAttribute through proxy"); else failure("getAttribute through proxy: " + Arrays.toString(pints)); }
Example 14
Source Project: datakernel File: DynamicMBeanFactoryAttributesSelectionTest.java License: Apache License 2.0 | 5 votes |
@Test(expected = RuntimeException.class) public void throwsExceptionInCaseOfInvalidFieldName() { MBeansStubWithInvalidExtraAttrName mbeanStub = new MBeansStubWithInvalidExtraAttrName(); DynamicMBean mbean = createDynamicMBeanFor(mbeanStub); MBeanInfo mBeanInfo = mbean.getMBeanInfo(); MBeanAttributeInfo[] attributesInfoArr = mBeanInfo.getAttributes(); assertEquals(1, attributesInfoArr.length); assertEquals("stats_sum", attributesInfoArr[0].getName()); }
Example 15
Source Project: jdk8u-dev-jdk File: MXBeanTest.java License: GNU General Public License v2.0 | 5 votes |
private static void testMXBean(MBeanServer mbs, ObjectName on) throws Exception { MBeanInfo mbi = mbs.getMBeanInfo(on); MBeanAttributeInfo[] attrs = mbi.getAttributes(); int nattrs = attrs.length; if (mbi.getAttributes().length != 1) failure("wrong number of attributes: " + attrs); else { MBeanAttributeInfo mbai = attrs[0]; if (mbai.getName().equals("Ints") && mbai.isReadable() && !mbai.isWritable() && mbai.getDescriptor().getFieldValue("openType") .equals(new ArrayType<int[]>(SimpleType.INTEGER, true)) && attrs[0].getType().equals("[I")) success("MBeanAttributeInfo"); else failure("MBeanAttributeInfo: " + mbai); } int[] ints = (int[]) mbs.getAttribute(on, "Ints"); if (equal(ints, new int[] {1, 2, 3}, null)) success("getAttribute"); else failure("getAttribute: " + Arrays.toString(ints)); ExplicitMXBean proxy = JMX.newMXBeanProxy(mbs, on, ExplicitMXBean.class); int[] pints = proxy.getInts(); if (equal(pints, new int[] {1, 2, 3}, null)) success("getAttribute through proxy"); else failure("getAttribute through proxy: " + Arrays.toString(pints)); }
Example 16
Source Project: dragonwell8_jdk File: TypeNameTest.java License: GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { TestMXBean testImpl = (TestMXBean) Proxy.newProxyInstance( TestMXBean.class.getClassLoader(), new Class<?>[] {TestMXBean.class}, nullIH); Object mxbean = new StandardMBean(testImpl, TestMXBean.class, true); MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); mbs.registerMBean(mxbean, name); MBeanInfo mbi = mbs.getMBeanInfo(name); MBeanAttributeInfo[] mbais = mbi.getAttributes(); boolean sawTabular = false; for (MBeanAttributeInfo mbai : mbais) { String attrName = mbai.getName(); String attrTypeName = (String) mbai.getDescriptor().getFieldValue("originalType"); String fieldName = attrName + "Name"; Field nameField = TestMXBean.class.getField(fieldName); String expectedTypeName = (String) nameField.get(null); if (expectedTypeName.equals(attrTypeName)) { System.out.println("OK: " + attrName + ": " + attrTypeName); } else { fail("For attribute " + attrName + " expected type name \"" + expectedTypeName + "\", found type name \"" + attrTypeName + "\""); } if (mbai.getType().equals(TabularData.class.getName())) { sawTabular = true; TabularType tt = (TabularType) mbai.getDescriptor().getFieldValue("openType"); if (tt.getTypeName().equals(attrTypeName)) { System.out.println("OK: TabularType name for " + attrName); } else { fail("For attribute " + attrName + " expected TabularType " + "name \"" + attrTypeName + "\", found \"" + tt.getTypeName()); } } } if (!sawTabular) fail("Test bug: did not test TabularType name"); if (failure == null) System.out.println("TEST PASSED"); else throw new Exception("TEST FAILED: " + failure); }
Example 17
Source Project: jdk8u-jdk File: Monitor.java License: GNU General Public License v2.0 | 4 votes |
Object getAttribute(MBeanServerConnection mbsc, ObjectName object, String attribute) throws AttributeNotFoundException, InstanceNotFoundException, MBeanException, ReflectionException, IOException { // Check for "ObservedAttribute" replacement. // This could happen if a thread A called setObservedAttribute() // while other thread B was in the middle of the monitor() method // and received the old observed attribute value. // final boolean lookupMBeanInfo; synchronized (this) { if (!isActive()) throw new IllegalArgumentException( "The monitor has been stopped"); if (!attribute.equals(getObservedAttribute())) throw new IllegalArgumentException( "The observed attribute has been changed"); lookupMBeanInfo = (firstAttribute == null && attribute.indexOf('.') != -1); } // Look up MBeanInfo if needed // final MBeanInfo mbi; if (lookupMBeanInfo) { try { mbi = mbsc.getMBeanInfo(object); } catch (IntrospectionException e) { throw new IllegalArgumentException(e); } } else { mbi = null; } // Check for complex type attribute // final String fa; synchronized (this) { if (!isActive()) throw new IllegalArgumentException( "The monitor has been stopped"); if (!attribute.equals(getObservedAttribute())) throw new IllegalArgumentException( "The observed attribute has been changed"); if (firstAttribute == null) { if (attribute.indexOf('.') != -1) { MBeanAttributeInfo mbaiArray[] = mbi.getAttributes(); for (MBeanAttributeInfo mbai : mbaiArray) { if (attribute.equals(mbai.getName())) { firstAttribute = attribute; break; } } if (firstAttribute == null) { String tokens[] = attribute.split("\\.", -1); firstAttribute = tokens[0]; for (int i = 1; i < tokens.length; i++) remainingAttributes.add(tokens[i]); isComplexTypeAttribute = true; } } else { firstAttribute = attribute; } } fa = firstAttribute; } return mbsc.getAttribute(object, fa); }
Example 18
Source Project: cacheonix-core File: StandardAgent.java License: GNU Lesser General Public License v2.1 | 4 votes |
private void printMBeanInfo(ObjectName mbeanObjectName, String mbeanName) { echo("\n>>> Getting the management information for the "+ mbeanName +" MBean"); echo(" using the getMBeanInfo method of the MBeanServer"); sleep(1000); MBeanInfo info = null; try { info = server.getMBeanInfo(mbeanObjectName); } catch (Exception e) { echo("\t!!! Could not get MBeanInfo object for "+ mbeanName +" !!!"); e.printStackTrace(); return; } echo("\nCLASSNAME: \t"+ info.getClassName()); echo("\nDESCRIPTION: \t"+ info.getDescription()); echo("\nATTRIBUTES"); MBeanAttributeInfo[] attrInfo = info.getAttributes(); if (attrInfo.length>0) { for(int i=0; i<attrInfo.length; i++) { echo(" ** NAME: \t"+ attrInfo[i].getName()); echo(" DESCR: \t"+ attrInfo[i].getDescription()); echo(" TYPE: \t"+ attrInfo[i].getType() + "\tREAD: "+ attrInfo[i].isReadable() + "\tWRITE: "+ attrInfo[i].isWritable()); } } else echo(" ** No attributes **"); echo("\nCONSTRUCTORS"); MBeanConstructorInfo[] constrInfo = info.getConstructors(); for(int i=0; i<constrInfo.length; i++) { echo(" ** NAME: \t"+ constrInfo[i].getName()); echo(" DESCR: \t"+ constrInfo[i].getDescription()); echo(" PARAM: \t"+ constrInfo[i].getSignature().length +" parameter(s)"); } echo("\nOPERATIONS"); MBeanOperationInfo[] opInfo = info.getOperations(); if (opInfo.length>0) { for(int i=0; i<opInfo.length; i++) { echo(" ** NAME: \t"+ opInfo[i].getName()); echo(" DESCR: \t"+ opInfo[i].getDescription()); echo(" PARAM: \t"+ opInfo[i].getSignature().length +" parameter(s)"); } } else echo(" ** No operations ** "); echo("\nNOTIFICATIONS"); MBeanNotificationInfo[] notifInfo = info.getNotifications(); if (notifInfo.length>0) { for(int i=0; i<notifInfo.length; i++) { echo(" ** NAME: \t"+ notifInfo[i].getName()); echo(" DESCR: \t"+ notifInfo[i].getDescription()); } } else echo(" ** No notifications **"); }
Example 19
Source Project: openjdk-jdk8u-backup File: Monitor.java License: GNU General Public License v2.0 | 4 votes |
Object getAttribute(MBeanServerConnection mbsc, ObjectName object, String attribute) throws AttributeNotFoundException, InstanceNotFoundException, MBeanException, ReflectionException, IOException { // Check for "ObservedAttribute" replacement. // This could happen if a thread A called setObservedAttribute() // while other thread B was in the middle of the monitor() method // and received the old observed attribute value. // final boolean lookupMBeanInfo; synchronized (this) { if (!isActive()) throw new IllegalArgumentException( "The monitor has been stopped"); if (!attribute.equals(getObservedAttribute())) throw new IllegalArgumentException( "The observed attribute has been changed"); lookupMBeanInfo = (firstAttribute == null && attribute.indexOf('.') != -1); } // Look up MBeanInfo if needed // final MBeanInfo mbi; if (lookupMBeanInfo) { try { mbi = mbsc.getMBeanInfo(object); } catch (IntrospectionException e) { throw new IllegalArgumentException(e); } } else { mbi = null; } // Check for complex type attribute // final String fa; synchronized (this) { if (!isActive()) throw new IllegalArgumentException( "The monitor has been stopped"); if (!attribute.equals(getObservedAttribute())) throw new IllegalArgumentException( "The observed attribute has been changed"); if (firstAttribute == null) { if (attribute.indexOf('.') != -1) { MBeanAttributeInfo mbaiArray[] = mbi.getAttributes(); for (MBeanAttributeInfo mbai : mbaiArray) { if (attribute.equals(mbai.getName())) { firstAttribute = attribute; break; } } if (firstAttribute == null) { String tokens[] = attribute.split("\\.", -1); firstAttribute = tokens[0]; for (int i = 1; i < tokens.length; i++) remainingAttributes.add(tokens[i]); isComplexTypeAttribute = true; } } else { firstAttribute = attribute; } } fa = firstAttribute; } return mbsc.getAttribute(object, fa); }
Example 20
Source Project: flowable-engine File: ProcessDefinitionsTest.java License: Apache License 2.0 | 4 votes |
@Test public void testAnnotations() throws MalformedObjectNameException, JMException { ModelMBean modelBean = assembler.assemble(processDefinitionsMBean, new ObjectName("domain", "key", "value")); assertNotNull(modelBean); MBeanInfo beanInfo = modelBean.getMBeanInfo(); assertNotNull(beanInfo); assertNotNull(beanInfo.getOperations()); assertEquals(9, beanInfo.getOperations().length); int counter = 0; for (MBeanOperationInfo op : beanInfo.getOperations()) { if (op.getName().equals("deleteDeployment")) { counter++; assertEquals("delete deployment", op.getDescription()); assertEquals("void", op.getReturnType()); assertEquals(1, op.getSignature().length); assertEquals("java.lang.String", op.getSignature()[0].getType()); } else if (op.getName().equals("suspendProcessDefinitionById")) { counter++; assertEquals("Suspend given process ID", op.getDescription()); assertEquals("void", op.getReturnType()); assertEquals(1, op.getSignature().length); assertEquals("java.lang.String", op.getSignature()[0].getType()); } else if (op.getName().equals("activatedProcessDefinitionById")) { counter++; assertEquals("Activate given process ID", op.getDescription()); assertEquals("void", op.getReturnType()); assertEquals(1, op.getSignature().length); assertEquals("java.lang.String", op.getSignature()[0].getType()); } else if (op.getName().equals("suspendProcessDefinitionByKey")) { counter++; assertEquals("Suspend given process ID", op.getDescription()); assertEquals("void", op.getReturnType()); assertEquals(1, op.getSignature().length); assertEquals("java.lang.String", op.getSignature()[0].getType()); } else if (op.getName().equals("activatedProcessDefinitionByKey")) { counter++; assertEquals("Activate given process ID", op.getDescription()); assertEquals("void", op.getReturnType()); assertEquals(1, op.getSignature().length); assertEquals("java.lang.String", op.getSignature()[0].getType()); } else if (op.getName().equals("deployProcessDefinition")) { counter++; assertEquals("Deploy Process Definition", op.getDescription()); assertEquals("void", op.getReturnType()); assertEquals(2, op.getSignature().length); assertEquals("java.lang.String", op.getSignature()[0].getType()); assertEquals("java.lang.String", op.getSignature()[1].getType()); } } assertEquals(6, counter); // check attributes assertNotNull(beanInfo.getAttributes()); assertEquals(2, beanInfo.getAttributes().length); counter = 0; for (MBeanAttributeInfo attr : beanInfo.getAttributes()) { if (attr.getName().equals("ProcessDefinitions")) { counter++; assertEquals("List of Process definitions", attr.getDescription()); assertEquals("java.util.List", attr.getType()); } else if (attr.getName().equals("Deployments")) { counter++; assertEquals("List of deployed Processes", attr.getDescription()); assertEquals("java.util.List", attr.getType()); } } assertEquals(2, counter); }