2012-01-25 3 views
1

JavaアプリケーションをMBeanサーバーに接続する必要がありますが、JMXConnectorを動作させるのに問題があります。JMXConnectorを接続するときにNoInitialContextExceptionを取得する

私はこれを実行しようとすると、私は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()); 
} 

私はユーザー名とパスワードを使用するときに私が持っているテストサーバーが認証する必要があるので、私は1なしでテストすることはできませんが、それは、発生します。

編集:私はjava6 SEを使用しています。関連するジャーが追加されていません。

私がここで間違っていることに関するアイデアはありますか?どんな助けでも大歓迎です。

答えて

0

接続しようとしているサーバーを指定していませんでしたが、ここにはweblogicの例があります。あなたのJMXServiceURLが正しくないと思われます。接続しようとしているMbeanserverに基づいて変更されます。 thinksteepが言ったように

+0

うーん...私はそうは思いません。 URLは私に与えられ、JConsoleで動作します。それを見ると、サーバーは実際にはweblogic(URLに書かれています)です。 – elite5472

+0

環境にjavax.management.remote.JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES "weblogic.management.remote"がありません。それを試しましたか? – kosa

0

、あなたはそれを試すことができます。

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); 
関連する問題