Protocol Handler Start Failed

Indications

Output similar to the following when running software manually or when started automatically:

$ cd /opt/terma/jobtrac-connector

$ java -jar jobtrac-connector-1.0.0.jar
:: Spring Boot ::(v2.1.2.RELEASE)

2019-05-28 14:31:02,141 INFO[JobtracConnectorApplication] Starting JobtracConnectorApplication on ubuntu with PID 72415 (/opt/terma/jobtrac-connector/jobtrac-connector-1.0.0.jar started by jobtrac-connector in /opt/terma/jobtrac-connector)

2019-05-28 14:31:02,184 INFO[JobtracConnectorApplication] No active profile set, falling back to default profiles: default

2019-05-28 14:31:02,184 ERROR [LifecycleBase] Failed to start component [Connector[HTTP/1.1-22]
org.apache.catalina.LifecycleException: Protocol handler start failed 
     at
org.apache.catalina.connector.Connector.startInternal(Connector.java:1004)
~[tomcat-embed-core-9.0.14.jar!/:9.0.14] 
     at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [tomcat-embed-core-9.0.14.jar!/:9.0.14]
     at 
org.apache.catalina.core.StandardService.addConnector(StandardService.java: 226) [tomcat-embed-core-9.0.14.jar!/:9.0.14]

[...]

Significance

The software provides an embedded web service used for remote monitoring and management. This capability listens on a configured port (default: 9876) for inbound connections and is required for the software to work.

This error indicates one or more of the following:

  • Another running instance of this software is already listening for inbound connections on that port.

  • Different software is already listening for inbound connections on that port.

  • The host or container OS is preventing the software from listening on that port.

Resolution

Attempt the following tasks in the order shown:

  1. If there is more than one running instance of the software, terminate all of them.

  2. Otherwise, modify the server.port property in the application.yml configuration file to refer to a different port.

  3. Otherwise, ensure the OS allows the software to listen for inbound connections on that port.

Re-run the software normally when complete.