我有 2 个 Spring Boot 项目在同一个 tomcat 上运行:
- REST-API
- 后台服务(BS)
目的
- REST-API:UI 应用程序使用它来完成任务。
- BS:基于 UI Activity ,此服务得到执行并实时完成工作。
详情
考虑到相同的目的,BS写成while(1)
。
Tomcat 错误
第一次尝试:
Using CATALINA_PID: /home/user/bin/pid/tomcat_pid
Tomcat did not stop in time.
PID file was not removed.
To aid diagnostics a thread dump has been written to standard out
第二次尝试:
java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at java.net.Socket.connect(Socket.java:538) at java.net.Socket.<init>(Socket.java:434) at java.net.Socket.<init>(Socket.java:211) at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:492) 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.stopServer(Bootstrap.java:406) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495) The stop command failed. Attempting to signal the process to stop through OS signal. Tomcat stopped.
问题:
1. 当我重新启动 tomcat 时,BS 项目将只运行而 REST-API 没有启动(我猜这是因为 while(1)
它开始执行并且没有机会启动 REST- API项目)
2. 在停止 tomcat 时,它不会在一次尝试中停止,当我们再次尝试停止时,它就会停止。
最佳答案
此异常主要表示没有服务监听您尝试连接的 IP/端口,因此,您尝试连接到错误的 IP/端口,或者服务器未启动。
关于java - Tomcat 停止问题 + Spring boot + 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53828164/