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

Reply via email to