Access Keys:
Skip to content (Access Key - 0)

Change Default Port on OpenRemote Controller 2.0

OpenRemote Controller attempts to listen on port 8080 by default (current freely available versions) and on port 8688 on Professional Designer and future free versions of controller. If other services in your host machine are already bound to the same physical port number, you will need to either close them (and possibly change them to listen on a different port) or change the listening port of OpenRemote Controller. We'll cover the latter case on this page.

How do I know if there's a port conflict?

In case of a port conflict, you'll notice that:

1) You can't connect to OpenRemote controller at http://localhost:8080/controller
2) There are very noisy error messages on the logs and/or console that report 'Bind Errors', such as below:

java.net.BindException: Address already in use<null>:8080
	at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:502)
	at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176)
	at org.apache.catalina.connector.Connector.initialize(Connector.java:1058)
	at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
	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:592)
	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
24.11.2009 16:33:03 org.apache.catalina.startup.Catalina load
SCHWERWIEGEND: Catalina.start
LifecycleException:  Protocol handler initialization failed: java.net.BindException: Address already in use<null>:8080
	at org.apache.catalina.connector.Connector.initialize(Connector.java:1060)
	at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
	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:592)
	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)

If the above happens, you'll need to configure OpenRemote Controller to run on a different port (for example, port 8688 instead of 8080).

What's so special about port 8080?

It is not uncommon that port 8080 is already reserved by other services. By default, many Java servlet containers (Apache Tomcat, Jetty, etc.) listen on port 8080. By extension, many Java application servers also attempt to open port 8080 (such as JBoss AS, etc).

If any of these Java servers are already running on your system, it's likely that you'll hit this port 8080 conflict.

Configure Alternative Port

In your OpenRemote Controller installation, locate the server.xml file in OpenRemote/config directory. It contains the following section:

    <!-- Documentation at :
         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
    -->
    <Connector executor="HTTP-ThreadPool"
               port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

Change the port value to 8688 (or possibly other unused port number) so you will have:


    <Connector executor="HTTP-ThreadPool"
               port="8688" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

Save the file and restart the controller.


Next login to your account at http://designer.openremote.org - switch to the 'Building Modeler' view and on the left-hand side selection choose 'Configuration'. From configuration select 'Discovery' and then change the port number to 8688, as shown below:

Save your configuration and synchronize it with your controller.

See Also

Added by Juha Lindfors , last edit by Juha Lindfors on Jan 26, 2013 02:19

  1. Oct 02, 2013

    Pieter Zanstra says:

    The image does not show that the port number has been changed to 8688 as the tex...

    The image does not show that the port number has been changed to 8688 as the text suggests. As many people blindly follow settings as shown on an image, I suggest to update the image with the new value 8688

© 2008-2012 OpenRemote Inc. OpenRemote is a trademark of OpenRemote, Inc.
Adaptavist Theme Builder (3.3.6-conf210) Powered by Atlassian Confluence 2.10.3, the Enterprise Wiki.