Common Redwood Platform-Related Errors
The following topic lists common errors you may encounter when you use Redwood Platform.
Address already in use.
Symptoms
You are attempting to start Redwood Platform and startup fails. In the scheduler.log
file you find the above error.
Platform
This can occur on Redwood Platform.
Specific Error Message
FATAL 2023-09-28 12:57:19,423 Europe/Paris [Redwood Background Startup] com.redwood.scheduler.lifecycle.impl.DefaultComponentLifecycleManager - Not all components started successfully; stopping what was started.
java.lang.RuntimeException: JCS-109002: Unable to bind service RedwoodMessaging to port 10071: Address already in use. See http://note.redwood.com/69758 for more information.
at com.redwood.scheduler.cluster.messaging.rwm.RWMessageServer.<init>(RWMessageServer.java:46)
at com.redwood.scheduler.cluster.messaging.rwm.RWMessaging.<init>(RWMessaging.java:54)
at com.redwood.scheduler.cluster.naming.rwm.RWMessagingNamingProvider.getClusterMessaging(RWMessagingNamingProvider.java:142)
at com.redwood.scheduler.cluster.ClusterComponent.getClusterMessaging(ClusterComponent.java:746)
at com.redwood.scheduler.cluster.messaging.ClusterMessagingComponent.start(ClusterMessagingComponent.java:102)
at com.redwood.scheduler.lifecycle.impl.StartComponentVisitor.visit(StartComponentVisitor.java:34)
at com.redwood.scheduler.lifecycle.impl.DefaultComponentLifecycleManager.visitAllComponents(DefaultComponentLifecycleManager.java:106)
at com.redwood.scheduler.lifecycle.impl.DefaultComponentLifecycleManager.startComponents(DefaultComponentLifecycleManager.java:207)
at com.redwood.scheduler.lifecycle.impl.DefaultComponentLifecycleManager.startComponents(DefaultComponentLifecycleManager.java:166)
at com.redwood.scheduler.lifecycle.impl.DefaultStartup.start(DefaultStartup.java:146)
at com.redwood.scheduler.lifecycle.impl.DefaultStartup$1.run(DefaultStartup.java:128)
at java.lang.Thread.run(Thread.java:619)
Caused by: JCS-109002: Unable to bind service RedwoodMessaging to port 10071: Address already in use. See http://note.redwood.com/69758 for more information.
at com.redwood.scheduler.cluster.messaging.rwm.http.HttpServer.start(HttpServer.java:90)
at com.redwood.scheduler.cluster.messaging.rwm.RWMessageServer.start(RWMessageServer.java:53)
at com.redwood.scheduler.cluster.messaging.rwm.RWMessageServer.<init>(RWMessageServer.java:42)
... 11 more
Caused by: java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at com.redwood.scheduler.cluster.messaging.rwm.http.HttpServer.start(HttpServer.java:77)
... 13 more
Resolution
There are two solutions.
If you do not require clustering support you can disable the default clustering implementation:
- Shutdown the server.
- Set the System Property
com.redwood.scheduler.boot.cluster.type=Standalone
. - Start up the server.
- Create a new Registry Entry as the administrator -
/configuration/boot/cluster/type
with a value of Standalone. - Shutdown the server.
- Remove the System Property
com.redwood.scheduler.boot.cluster.type=Standalone
. - Start the server.
If you require clustering support:
- Shutdown the server.
- Set the System Property
com.redwood.scheduler.boot.cluster.type=Standalone
. - Start up the server.
- Create a new Registry Entry as the administrator -
/configuration/boot/cluster/<hostname>/<instance number>/<node number>/port
with the value being the available port number. - Where.
hostname
- is the name of the host - this will be the same as the host defined in your license.instance number
- is the instance number of the node. This will be0
for Redwood Platform, unless overwritten by the System propertycom.redwood.scheduler.cluster.rwm.InstanceId
.node number
- is the number of the cluster node on this server. By default this is mapped from the installation directory, correlating to the number at the end of the directoryj2ee/cluster/server<N>
.- For example the default path will be
/configuration/boot/cluster/tomcathost/0/1/port
. - Shutdown the server.
- Remove the System Property
com.redwood.scheduler.boot.cluster.type=Standalone
. - Start the server - note the restart can take up to three minutes to start if the shutdown is not completed cleanly. This is due to the failover mechanisms in place.
onsiteTopic