If you get an error like this

[ERROR] ManagementContext - -Could not start the remote: JMX ConnectorServer <java.io.IOException: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: Exception creating connection to: localhost; nested exception is:

        java.net.SocketException: Invalid argument or cannot assign requested address]>java.io.IOException: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: Exception creating connection to: localhost; nested exception is:

        java.net.SocketException: Invalid argument or cannot assign requested address] 
        at mx4j.remote.resolver.rmi.RMIResolver.bindServer(RMIResolver.java:198) 

Then its probably that you're on Java 1.4 and you have an existing process using the RMI naming server which clashes with mx4j.

Fixes

  • You can set the flag createMBeanServer in the basic servicemix.xml to false to get around this
  • Move to Java 5 which doesn't have this problem
  • Try stop the other process