OneClick Tomcat won't startup due to java.net.BindException

book

Article ID: 32837

calendar_today

Updated On:

Products

CA Spectrum

Issue/Introduction

OneClick Tomcat won't startup due to java.net.BindException exception because default shutdown port, i.e. TCP/8005 was being used by other process. OneClick Tomcat log shows the following exception.

SEVERE: StandardServer.await: create[localhost:8005]: 
java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:426)
at org.apache.catalina.startup.Catalina.await(Catalina.java:777)
at org.apache.catalina.startup.Catalina.start(Catalina.java:723)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)

Cause

Tomcat shutdown port, i.e. by default TCP/8005, has been used by other process. Because of that, OneClick Tomcat cannot allocate this port during start up. This happens typically when you install CABI on the same machine. When CABI Tomcat was running the default shutdown port TCP/8005 was being used so OneClick Tomcat won't be able to allocate the port.

Environment

Release:
Component:

Resolution

We can reconfigure OneClick Tomcat to use different available TCP port, e.g. TCP/8006, for shutdown port. You can do the following steps.

1. Run the following netstat command to make sure that the TCP port you want to allocate is not being used. You should not get any entry as output of the command when the port is not being used.

On Windows:

netstat -aon | grep <port number>

On Linux/Solaris:

netstat -an | grep <port number>

Note: Replace <port number> with the new port number you want to use

2. Backup $SPECROOT/tomcat/conf/server.xml file and use vi editor or other text editor to modify

From

<Server port="8005" shutdown="SHUTDOWN">

To

<Server port="<new port number>" shutdown="SHUTDOWN">

Note: Replace <new port number> with the new port number you want to use

3. Restart OneClick Tomcat