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

Reply via email to