我有一个shell脚本来运行我正在使用Tomcat 6.39的应用程序。问题是,当我运行脚本应用程序时,即使应用程序已在同一端口上运行,也会启动。
P.S。我确实遇到了端口忙的消息,但之后tomcat继续加载服务启动包并启动它。
如何解决此问题?
以下是相同的tomcat日志:
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Mar 22, 2018 7:21:09 PM org.apache.coyote.http11.Http11Protocol init
SEVERE: Error initializing endpoint
java.net.BindException: Address already in use (Bind failed) <null>:9894
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:549)
at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:180)
at org.apache.catalina.connector.Connector.initialize(Connector.java:1124)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:838)
at org.apache.catalina.startup.Catalina.load(Catalina.java:538)
at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.net.BindException: Address already in use (Bind failed)
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at java.net.ServerSocket.<init>(ServerSocket.java:181)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50)
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538)
... 12 more
Mar 22, 2018 7:21:09 PM org.apache.catalina.core.StandardService initialize
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-9894]]
LifecycleException: Protocol handler initialization failed: java.net.BindException: Address already in use (Bind failed) <null>:9894
at org.apache.catalina.connector.Connector.initialize(Connector.java:1126)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:838)
at org.apache.catalina.startup.Catalina.load(Catalina.java:538)
at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Mar 22, 2018 7:21:09 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 577 ms
Mar 22, 2018 7:21:09 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Mar 22, 2018 7:21:09 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.39
Mar 22, 2018 7:21:09 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor host-manager.xml
Mar 22, 2018 7:21:09 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
Mar 22, 2018 7:21:09 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive rp.war
log4j:WARN No such property [maxFileSize] in org.apache.log4j.DailyRollingFileAppender.
log4j:WARN No such property [maxRollFileCount] in org.apache.log4j.DailyRollingFileAppender.
log4j:WARN No such property [maxRollFileCount] in org.apache.log4j.DailyRollingFileAppender.
log4j:WARN No such property [maxRollFileCount] in org.apache.log4j.DailyRollingFileAppender.
log4j:WARN No such property [maxFileSize] in org.apache.log4j.DailyRollingFileAppender.
答案 0 :(得分:0)
这就是Tomcat的行为方式,因为无法启动服务器套接字并不致命,并且绑定不会在启动期间首先出现。
它不会停止启动和退出,因为端口已经忙于另一个Tomcat。由您决定何时开始(当收集所有条件时:足够的可用内存,足够的磁盘空间用于日志,没有任何东西已经在令人垂涎的端口上绑定)。