private static <T> void test(MBeanServer mbs, Class<T> c) throws Exception {
System.out.println("Testing " + c.getName());
T merlin = c.cast(
Proxy.newProxyInstance(c.getClassLoader(),
new Class<?>[] {c},
new DullInvocationHandler()));
ObjectName merlinName = new ObjectName("a:type=" + c.getName());
mbs.registerMBean(merlin, merlinName);
System.out.println(mbs.getMBeanInfo(merlinName));
T merlinProxy = JMX.newMXBeanProxy(mbs, merlinName, c);
Method[] merlinMethods = c.getMethods();
for (Method m : merlinMethods) {
Class<?>[] types = m.getParameterTypes();
Object[] params = new Object[types.length];
for (int i = 0; i < types.length; i++)
params[i] = DullInvocationHandler.zeroFor(types[i]);
System.out.println("Invoking " + m.getName());
m.invoke(merlinProxy, (Object[]) params);
}
}
RandomMXBeanTest.java 文件源码
java
阅读 30
收藏 0
点赞 0
评论 0
项目:openjdk-jdk10
作者:
评论列表
文章目录