Hi All,
I am trying to connect jmx console from a remote box
I am using  URL as "service:jmx:rmi:///jndi/rmi://LPF004689:1099/karaf-root"
(using remote process from jconsole)
and karaf as userid and karaf as password


I am getting "connection Failed" error
 I added  the below lines to org.apache.felix.karaf.management.cfg file
jmxLogin        = karaf
jmxPassword     = karaf

>From karaf console I could see the below configuration properties 
Pid:            org.apache.felix.karaf.management
BundleLocation: null
Properties:
   objectName = connector:name=rmi
   service.pid = org.apache.felix.karaf.management
   serviceUrl = service:jmx:rmi:///jndi/rmi://localhost:1099/karaf-root
   felix.fileinstall.filename = org.apache.felix.karaf.management.cfg
   threaded = true
   rmiRegistryPort = 1099
   jmxLogin = karaf
   jmxPassword = karaf
   daemon = true
   jmxRealm = karaf

I still have "connection Failed" error
I tried running a small program to see what exact exception it is coming
with. I am getting the below exception 
java.lang.SecurityException: Authentication failed
        at
org.apache.felix.karaf.management.JaasAuthenticator.authenticate(JaasAuthenticator.java:69)
        at
javax.management.remote.rmi.RMIServerImpl.doNewClient(RMIServerImpl.java:213)
        at
javax.management.remote.rmi.RMIServerImpl.newClient(RMIServerImpl.java:180)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
        at sun.rmi.transport.Transport$1.run(Transport.java:159)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
        at 
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown
Source)
        at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
        at sun.rmi.server.UnicastRef.invoke(Unknown Source)
        at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown 
Source)
        at javax.management.remote.rmi.RMIConnector.getConnection(Unknown 
Source)
        at javax.management.remote.rmi.RMIConnector.connect(Unknown Source)
        at javax.management.remote.rmi.RMIConnector.connect(Unknown Source)
        at
com.pf.jmx.ServicemixConsoleConnecter.main(ServicemixConsoleConnecter.java:26)
Caused by: javax.security.auth.login.FailedLoginException: User does not
exist
        at
org.apache.felix.karaf.jaas.modules.properties.PropertiesLoginModule.login(PropertiesLoginModule.java:98)
        at
org.apache.felix.karaf.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:83)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
        at 
javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
        at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
        at
org.apache.felix.karaf.management.JaasAuthenticator.authenticate(JaasAuthenticator.java:66)
        at
javax.management.remote.rmi.RMIServerImpl.doNewClient(RMIServerImpl.java:213)
        at
javax.management.remote.rmi.RMIServerImpl.newClient(RMIServerImpl.java:180)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
        at sun.rmi.transport.Transport$1.run(Transport.java:159)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

Here is my java program
// Service Mix username/password
            String username = "karaf"; 
            String password = "karaf"; 
         
            // set the credentials
            Map<String, String[]> env = new HashMap<String, String[]>();
            String[] credentials = new String[] { username, password };
            env.put(JMXConnector.CREDENTIALS, credentials);
            
            String amqJmxUrl =
"service:jmx:rmi:///jndi/rmi://LPF004689:1099/karaf-root";
            System.out.println("URL is : "+amqJmxUrl);
            // get the connection.
            try {
                JMXConnector connector = JMXConnectorFactory.newJMXConnector(new
JMXServiceURL(amqJmxUrl), env);
                connector.connect();

            }
            catch(Exception ex)
            {
                ex.printStackTrace();
            }
        }

Please suggest
Thanks & Regards
Gita

-- 
View this message in context: 
http://old.nabble.com/connecting-to-JMX-console-failed-tp28660553p28660553.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to