我需要将java aplication连接到MBean服务器,但是我无法让JMXConnector工作。
我尝试运行时收到NoInitialContextException:
try
{
if(user != null)
{
HashMap environment = new HashMap();
environment.put(JMXConnector.CREDENTIALS, new String[] {user, password});
connector = JMXConnectorFactory.connect(location, environment);
}
else
{
connector = JMXConnectorFactory.connect(location, null);
}
beanServer = connector.getMBeanServerConnection();
}
catch(Exception e)
{
throw new ConnectException("Failed to connect to " + location + ": " + e.getMessage());
}
当我使用用户名和密码时会发生这种情况,虽然我无法测试,因为我必须对我的测试服务器进行身份验证。
编辑:我正在使用java6 SE。没有添加相关的罐子。
关于我在这里做错了什么的想法?非常感谢任何帮助。
答案 0 :(得分:0)
您没有指定要尝试连接的服务器,但这里是weblogic的示例。我怀疑,您的JMXServiceURL不正确,它会根据您尝试连接的Mbeanserver进行更改。
答案 1 :(得分:0)
正如thinksteep所说,你可以尝试:
Map<String, Object> env = new HashMap<String, Object>();
env.put(JMXConnectorServerFactory.PROTOCOL_PROVIDER_PACKAGES, "com.sun.jmx.remote.protocol");
以后你可以联系:
jmxc = JMXConnectorFactory.connect(new JMXServiceURL(address), env);