To not run into port conflicts, you have two ways: * use the admin shell to create a new instance and start it * configure your karaf instances manually so that ports won't conflict
The first way is really easy. From the console, run: > admin/create instance2 > admin/start instance2 Run admin/list until the instance2 is shown as [started] > admin/connect instance2 The second solution can be done by tweaking the configuration file in the etc folder. The org.apache.[servicemix|felix.karaf].management.cfg file contains two properties you need to change: rmiRegistryPort = 1099 serviceUrl = service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi You need to modify the rmi port in both properties. This port is used to create the RMI registry needed for the JMX mbean server The second one you need to change is in org.apache.[servicemix|felix.karaf].shell.cfg: sshPort=8101 You also need to change the port used by the SSH server. Launch the first instance, the connect to the second one using the ssh command from within the first console: > ssh -p [port] -l [username] -P [password] [host] So, for a default installation, it would look like: > ssh -p 8101 -l smx -P smx localhost If you're using the karaf client, the parameters are a bit different though > java -jar lib/karaf-client.jar -a 8101 -h localhost -u karaf -p karaf Run "java -jar lib/karaf-client.jar --help" for more infos. Alternatively, you can also use any SSH client to connect. Hopes this helps. 2009/5/18 Sergey Shcherbakov <sshcherba...@echelon.de>: > Hello all, > > Can anybody please explain me the meaning of the > etc/org.apache.servicemix.management.cfg serviceUrl property > etc/management.properties com.sun.management.jmxremote.port property > > and how should I configure them in server and client servicemix installations > in order to be able to open console into first instance using second service > mix installation folder? > > Somehow I could make it once! But now > > Java -jar lib/servicemix-client.jar > > exits silently > and > > bin\servicemix.bat client > > throws > > Exception in thread "JMX Connector Thread > [service:jmx:rmi:///jndi/rmi://localho > st:1099/jmxrmi]" org.springframework.jmx.JmxException: Could not start JMX > conne > ctor server after delay; nested exception is java.io.IOException: Cannot bind > to > URL [rmi://localhost:1099/jmxrmi]: javax.naming.NameAlreadyBoundException: > jmxr > mi [Root exception is java.rmi.AlreadyBoundException: jmxrmi] > at > org.springframework.jmx.support.ConnectorServerFactoryBean$1.run(Conn > ectorServerFactoryBean.java:157) > Caused by: java.io.IOException: Cannot bind to URL > [rmi://localhost:1099/jmxrmi] > : javax.naming.NameAlreadyBoundException: jmxrmi [Root exception is > java.rmi.Alr > eadyBoundException: jmxrmi] > at > javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConn > ectorServer.java:804) > at > javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServ > er.java:417) > at > org.springframework.jmx.support.ConnectorServerFactoryBean$1.run(Conn > ectorServerFactoryBean.java:154) > Caused by: javax.naming.NameAlreadyBoundException: jmxrmi [Root exception is > jav > a.rmi.AlreadyBoundException: jmxrmi] > at > com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:1 > 22) > at > com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.jav > a:208) > at javax.naming.InitialContext.bind(InitialContext.java:400) > at > javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServe > r.java:625) > at > javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServ > er.java:412) > ... 1 more > Caused by: java.rmi.AlreadyBoundException: jmxrmi > at sun.rmi.registry.RegistryImpl.bind(RegistryImpl.java:123) > at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source) > at > sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386 > ) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250) > 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:5 > 35) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTranspor > t.java:790) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport > .java:649) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec > utor.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(Stream > RemoteCall.java:255) > at > sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java: > 233) > at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359) > at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source) > at > com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:1 > 20) > > The mentioned properties are same in both SMX installations. > > Best Regards, > Sergey Shcherbakov. > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@felix.apache.org For additional commands, e-mail: users-h...@felix.apache.org