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.