Hi,

I believe you're using Apache Servicemix 4.2 release, right?
If in this case, then  the default username/password is smx/smx.
If you want to use karaf/karaf, you need edit the jaas configuration file
$SMX4_HOME/etc/users.properties,
add
karaf=karaf,admain

Freeman
On 2010-5-25, at 上午3:03, gnanda wrote:


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.



--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com

Reply via email to