spring boot 启动 把别的tomcat进程强制关闭了

你是我的天晴 2017-05-26 10:25:30
为什么我用spring boot内置的tomcat启动 mvn spring-boot:run 就会把别的tomcat进程强制关闭?

然后我启动别的tomcat 就会把spring boot启动的服务给关闭了

这两个不能同时运行了呀

请问怎么排查解决呢 spring boot内置的tomcat端口是8085
另外的那个tomcat端口是9897
...全文
565 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jufuliu 2017-06-19
  • 打赏
  • 举报
回复
我现在也碰到了这个问题,请问楼主找到原因了吗
  • 打赏
  • 举报
回复
同时开启需要几个独立的tomcat实例,且其中的server.xml配置<Server port="8005" shutdown="SHUTDOWN">中的port值也不能一样
资源下载链接为: https://pan.quark.cn/s/f989b9092fc5 优雅停机是指在关闭服务端时,让服务端平稳地关闭,而不是直接强制关闭容器(如 Tomcat 等)。这样可以避免因突然关闭导致的业务逻辑执行失败和数据不一致问题。 在 Spring Boot 2.3 版本中,新增了内置的优雅停机功能,无需再自行扩展容器线程池来实现。目前,Spring Boot 嵌入式支持的 Web 服务器(包括 Jetty、Reactor Netty、Tomcat 和 Undertow)以及反应式和基于 Servlet 的 Web 应用程序都支持优雅停机。 要启用优雅停机功能,需要在配置文件中添加shutdown=graceful参数。这样,当 Web 容器关闭时,Web 服务器将不再接收新的请求,并等待当前活动请求完成的缓冲期。 在 Spring Boot 2.3 中,shutdown配置提供了两种行为:GRACEFUL和IMMEDIATE。其中,GRACEFUL表示优雅停机,而IMMEDIATE表示立即停机。缓冲期的默认超时时间为 30 秒,即最大等待 30 秒,超过该时间后,无论线程任务是否执行完毕,都会进行停机处理。 当通过请求服务端接口来关闭应用时,会触发优雅停机事件。可以通过 Spring Boot 的actuator端点实现优雅停机,发送 POST 请求到/actuator/shutdown即可执行优雅关机。 在关闭服务端时,使用kill -2命令可以触发 Java 的ShutdownHook事件处理,从而实现优雅停机;而kill -9命令则会强制杀死进程,不会执行ShutdownHook。 优雅停机的实现原理是基于 Spring Boot 的ShutdownHook机制。当服务端接收到关闭指令时,会触发ShutdownHook事件处理,并等待活动请求完成的

81,117

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧