Symptoms
When you try to start your crx/cq instance it does not start and you get an error similar to:
23.08.2007 09:54:49 *ERROR* RepositoryStartupServlet: RepositoryStartupServlet initializing failed: javax.servlet.ServletException: Unable to bind repository via RMI. (RepositoryStartupServlet.java, line 199) javax.servlet.ServletException: Unable to bind repository via RMI. at com.day.crx.j2ee.RepositoryStartupServlet.registerRMI(RepositoryStartupServlet.java:502) at com.day.crx.j2ee.RepositoryStartupServlet.init(RepositoryStartupServlet.java:194) at javax.servlet.GenericServlet.init(GenericServlet.java:256) at com.day.crx.j2ee.CRXRepositoryStartupServlet.init(CRXRepositoryStartupServlet.java:100) at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:190) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.init(ServletWrapper.java:317)
Cause
This error usually occurs when CRX tries to register itself via RMI on a port that is already in use by another CRX repository. If you run multiple CRX repositories on one machine then you are probably experiencing a port conflict.
Resolution
Check the rmi-port in the web.xml file of your CRX instance that fails to bind itself to RMI. This is per default located in <cq_home>/server/runtime/0/crxauthor/WEB-INF/web.xml
Either change this port to a unused port or completely comment out the rmi-configuration if you do not require RMI access to the CRX repository at all. CQ does not need RMI access to CRX.