我们的 JavaEE 应用程序有一个服务,该服务负责安装和启动其他服务,具体取决于存储在数据库中的配置。服务安装使用
ServiceControllerMBean.install(
org.w3c.dom.Element element,
javax.management.ObjectName objectName)
方法。此方法需要类加载器 ObjectName 作为第二个参数。在 JBoss 4.x 下,我们使用以下 hack 来获取类加载器名称:
final ServiceControllerMBean serviceController =
(ServiceControllerMBean) MBeanProxy.get(
ServiceControllerMBean.class,
ServiceControllerMBean.OBJECT_NAME, server);
final ClassLoader = serviceController.getClass().getClassLoader();
final ObjectName loader = new ObjectName(
"jmx.loading:UCL=" + Integer.toHexString(classLoader.hashCode()))
但是,这在 JBoss 5.x 下不起作用,因为类加载器命名已更改。
有人可以建议一种在 JBoss 5.x 下获取类加载器名称的方法吗?
先感谢您