我是JAVA编程的新手,我正在尝试编写简单的MXBean servlet。 我想从RuntimeMXBean转储一些数据。
如您所知,这个界面有几种方法,fe: - getVmName - getVmVendor 还有更多..
我想创建一些带有几个方法名称的数组,然后使用foreach逐个调用并打印它的值。
不幸的是,这对我不起作用。 我试过obj.invoke,getmethod而且没什么 - 看起来它不像常规课或其他东西那样工作(对不起,我是菜鸟)
一些代码:
RuntimeMXBean rmx = ManagementFactory.getRuntimeMXBean();
如果我使用rmx.getVmVendor()一切都很好,但我不知道我怎么能用(也许还有别的东西?)在这个对象上调用带字符串名的方法(循环需要) 我正在使用最新的netbeans和glassfish。
谢谢。
答案 0 :(得分:0)
您可以使用反射API:
try {
Method method = rmx.getClass().getDeclaredMethod("aMethodName");
Object result = method.invoke(rmx);
} catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
System.out.println(ex);
}