Java Code Examples for javax.management.modelmbean.ModelMBean#setManagedResource()
The following examples show how to use
javax.management.modelmbean.ModelMBean#setManagedResource() .
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 File: MBeanExporter.java From java-technology-stack with MIT License | 5 votes |
/** * Creates an MBean that is configured with the appropriate management * interface for the supplied managed resource. * @param managedResource the resource that is to be exported as an MBean * @param beanKey the key associated with the managed bean * @see #createModelMBean() * @see #getMBeanInfo(Object, String) */ protected ModelMBean createAndConfigureMBean(Object managedResource, String beanKey) throws MBeanExportException { try { ModelMBean mbean = createModelMBean(); mbean.setModelMBeanInfo(getMBeanInfo(managedResource, beanKey)); mbean.setManagedResource(managedResource, MR_TYPE_OBJECT_REFERENCE); return mbean; } catch (Throwable ex) { throw new MBeanExportException("Could not create ModelMBean for managed resource [" + managedResource + "] with key '" + beanKey + "'", ex); } }
Example 2
Source File: MBeanExporter.java From lams with GNU General Public License v2.0 | 5 votes |
/** * Creates an MBean that is configured with the appropriate management * interface for the supplied managed resource. * @param managedResource the resource that is to be exported as an MBean * @param beanKey the key associated with the managed bean * @see #createModelMBean() * @see #getMBeanInfo(Object, String) */ protected ModelMBean createAndConfigureMBean(Object managedResource, String beanKey) throws MBeanExportException { try { ModelMBean mbean = createModelMBean(); mbean.setModelMBeanInfo(getMBeanInfo(managedResource, beanKey)); mbean.setManagedResource(managedResource, MR_TYPE_OBJECT_REFERENCE); return mbean; } catch (Throwable ex) { throw new MBeanExportException("Could not create ModelMBean for managed resource [" + managedResource + "] with key '" + beanKey + "'", ex); } }
Example 3
Source File: MBeanExporter.java From spring4-understanding with Apache License 2.0 | 5 votes |
/** * Creates an MBean that is configured with the appropriate management * interface for the supplied managed resource. * @param managedResource the resource that is to be exported as an MBean * @param beanKey the key associated with the managed bean * @see #createModelMBean() * @see #getMBeanInfo(Object, String) */ protected ModelMBean createAndConfigureMBean(Object managedResource, String beanKey) throws MBeanExportException { try { ModelMBean mbean = createModelMBean(); mbean.setModelMBeanInfo(getMBeanInfo(managedResource, beanKey)); mbean.setManagedResource(managedResource, MR_TYPE_OBJECT_REFERENCE); return mbean; } catch (Exception ex) { throw new MBeanExportException("Could not create ModelMBean for managed resource [" + managedResource + "] with key '" + beanKey + "'", ex); } }
Example 4
Source File: MBeanExporter.java From spring-analysis-note with MIT License | 5 votes |
/** * Creates an MBean that is configured with the appropriate management * interface for the supplied managed resource. * @param managedResource the resource that is to be exported as an MBean * @param beanKey the key associated with the managed bean * @see #createModelMBean() * @see #getMBeanInfo(Object, String) */ protected ModelMBean createAndConfigureMBean(Object managedResource, String beanKey) throws MBeanExportException { try { ModelMBean mbean = createModelMBean(); mbean.setModelMBeanInfo(getMBeanInfo(managedResource, beanKey)); mbean.setManagedResource(managedResource, MR_TYPE_OBJECT_REFERENCE); return mbean; } catch (Throwable ex) { throw new MBeanExportException("Could not create ModelMBean for managed resource [" + managedResource + "] with key '" + beanKey + "'", ex); } }
Example 5
Source File: UnserializableTargetObjectTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 6
Source File: UnserializableTargetObjectTest.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 7
Source File: UnserializableTargetObjectTest.java From jdk8u-jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 8
Source File: UnserializableTargetObjectTest.java From jdk8u_jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 9
Source File: UnserializableTargetObjectTest.java From openjdk-8 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 10
Source File: UnserializableTargetObjectTest.java From openjdk-8-source with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 11
Source File: UnserializableTargetObjectTest.java From hottub with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 12
Source File: UnserializableTargetObjectTest.java From jdk8u-jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 13
Source File: UnserializableTargetObjectTest.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 14
Source File: UnserializableTargetObjectTest.java From openjdk-jdk8u with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 15
Source File: UnserializableTargetObjectTest.java From jdk8u60 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 16
Source File: UnserializableTargetObjectTest.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }
Example 17
Source File: UnserializableTargetObjectTest.java From dragonwell8_jdk with GNU General Public License v2.0 | 4 votes |
public static void main(String[] args) throws Exception { MBeanServer mbs = MBeanServerFactory.newMBeanServer(); ObjectName name = new ObjectName("a:b=c"); Resource resource1 = new Resource(); Resource resource2 = new Resource(); Resource resource3 = new Resource(); Method operationMethod = Resource.class.getMethod("operation"); Method getCountMethod = Resource.class.getMethod("getCount"); Method setCountMethod = Resource.class.getMethod("setCount", int.class); Descriptor operationDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "operation", resource1 }); Descriptor getCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "getCount", resource2 }); Descriptor setCountDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "targetObject" }, new Object[] { "operation", "setCount", resource2 }); Descriptor countDescriptor = new DescriptorSupport(new String[] { "descriptorType", "name", "getMethod", "setMethod" }, new Object[] { "attribute", "Count", "getCount", "setCount" }); ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo("operation description", operationMethod, operationDescriptor); ModelMBeanOperationInfo getCountInfo = new ModelMBeanOperationInfo("getCount description", getCountMethod, getCountDescriptor); ModelMBeanOperationInfo setCountInfo = new ModelMBeanOperationInfo("setCount description", setCountMethod, setCountDescriptor); ModelMBeanAttributeInfo countInfo = new ModelMBeanAttributeInfo("Count", "Count description", getCountMethod, setCountMethod, countDescriptor); ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "ModelMBean to test targetObject", new ModelMBeanAttributeInfo[] {countInfo}, null, // no constructors new ModelMBeanOperationInfo[] { operationInfo, getCountInfo, setCountInfo }, null); // no notifications ModelMBean mmb = new RequiredModelMBean(mmbi); mmb.setManagedResource(resource3, "ObjectReference"); mbs.registerMBean(mmb, name); mbs.invoke(name, "operation", null, null); mbs.setAttribute(name, new Attribute("Count", 53)); if (resource1.operationCount != 1) throw new Exception("operationCount: " + resource1.operationCount); if (resource2.count != 53) throw new Exception("count: " + resource2.count); int got = (Integer) mbs.getAttribute(name, "Count"); if (got != 53) throw new Exception("got count: " + got); JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); cs.start(); JMXServiceURL addr = cs.getAddress(); JMXConnector cc = JMXConnectorFactory.connect(addr); MBeanServerConnection mbsc = cc.getMBeanServerConnection(); ModelMBeanInfo rmmbi = (ModelMBeanInfo) mbsc.getMBeanInfo(name); // Above gets NotSerializableException if resource included in // serialized form cc.close(); cs.stop(); System.out.println("TEST PASSED"); }