Thank you very much Freeman. It worked
-----Original Message----- From: Freeman Fang [mailto:[email protected]] Sent: Monday, May 24, 2010 8:40 PM To: [email protected] Subject: Re: connecting to JMX console failed 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
