我正在尝试使用 JSR-160 类访问启用了安全性的 WebSphere 7 AppServer。如果我定义指向各种 WebSphere lib 目录的 java.ext.dirs 系统属性,我可以获得与以下内容的连接:
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial", "com.ibm.websphere.naming.WsnInitialContextFactory");
env.put("java.naming.provider.url", "corbaloc:iiop:myhost:2809/WsnAdminNameService");
env.put("jmx.remote.credentials", new String[] { "admin", "password" });
JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL("service:jmx:rmi:///jndi/JMXConnector"), env);
但是,一旦我访问stats
MBean 上的属性之类的东西,就会收到以下错误:
javax.management.JMRuntimeException:
>> SERVER (id=4773e3aa, host=myhost) TRACE START:
>> javax.management.JMRuntimeException: ADMN0022E: Access is denied for the getStats operation on J2CResourceAdapter MBean because of insufficient or empty credentials.
在过去的两天里,我用谷歌搜索了我能想象到的各种解决方案,但没有任何效果。
实际上是否可以通过 JSR-160 在安全的 WebSphere AppServer 中查询 MBean 属性?