Tomcat日志异常(端口占用)但正常启动
Tomcat日志异常,但正常启动
Tomcat在启动时,从日志中发现了异常,但是并未影响服务启动。导致的后果可能是,其他端认为服务端正常,但是实际上并无法调用。
Catalina日志显示:虽然中途有address already in use的日志,表示端口被占用,但是仍旧继续执行了Initialization process。
排查发现,connector端口确实被占用,此时应该让程序启动失败。
Tomcat源代码中,在启动过程中
如果org.apache.catalina.startup.EXIT_ON_INIT_FAILURE=true,才会将异常抛出,并且记录。
这个参数的默认值是false,即connector init出现问题时,只记录日志,不影响启动流程。
为了让其他端感知到此处服务的启动是有问题的,在适当位置将org.apache.catalina.startup.EXIT_ON_INIT_FAILURE的值置为true。
若是init时出现问题(例如端口已经被占用)服务将会无法启动,错误会被及时报出来,其他端可以感知到服务有异常。