记SpringBoot项目运行2h自动挂掉的坑

记SpringBoot项目运行2h自动挂掉的坑

背景

以前多使用tomcat容器部署war项目或者使用jenkins直接部署,没有亲自体验过部署jar。所以,这次接触了一个SpringBoot项目之后直接采用jar部署的方式试试水,然后就挂了。。

过程

首先控制台运行java -jar -Dserver.port=8090 xx.jar & 后台运行程序,看了一下日志也能正常输出以为就大功告成了。不料高兴不到2h,程序就挂了。

2021-02-25 10:10:51.993  INFO 5392 --- [       Thread-3] o.s.s.c.ThreadPoolTaskScheduler          : Shutting down ExecutorService 'threadPoolTaskScheduler'
2021-02-25 10:10:51.994  INFO 5392 --- [       Thread-3] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2021-02-25 10:10:51.996  INFO 5392 --- [       Thread-3] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

看了下报错(如上图),以为是数据库连接池问题,然后检查了application.yml配置,结果跟其它boot项目的配置都一样啊。初步诊断无果之后,开始一顿百度+尝试。
终于,男主光环照耀下,迎来大结局。我在控制台运行java -jar xx.jar & 以为可以脱离终端后台运行,实际还是受控制台影响,当控制台超时自动断开连接,程序也随之挂掉。

解决方案一

控制台输入改为
nohup java -jar -Dserver.port=8090 xx.jar > xx.log 2>&1 &
使用nohup不挂断运行,并指定日志输出。

解决方案二

把启动命令
java -jar -Dserver.port=8090 xx.jar &
写到shell脚本里面,执行shell来运行就没问题,日志会自动输出到当前目录的 nohup.out 文件中。

总结

日常踩坑,永无止境。
想起了一个大佬说过的话,你知道的越多,你不知道的就越多。

链接: https://www.oschina.net/question/3292401_2280551.

Spring Boot 2.x 和 Spring Boot 是两个版本的 Spring Boot 框架,它们都是基于 Spring 框架的一套快速初始化、简化配置的工具集,旨在加速企业级 Java Web 应用的开发。不过,由于它们分别属于不同的版本: 1. **Spring Boot 2.x**(例如 2.0 至 2.6 版本):这是早期的 Spring Boot 发展的一个阶段,提供了许多稳定的功能和改进,比如对新Java版本的支持(如Java 8或更高),更好的模块化,以及对微服务架构的支持。这些版本的主要特点是功能完善和相对成熟。 2. **Spring Boot 2.H 或 2.7+**(这里的 "H" 可能是指某个特别的发行版或者扩展,但通常没有明确的“Spring Boot 2.H”这一说法,如果有的话,可能特指针对某些技术的增强或特定功能的分支):如果存在这样的命名,可能是为了表示某个特定版本或实验性的更新,比如引入了新的技术栈(如Spring Cloud Hoxton 或者其他新技术)、更快的开发体验或者是对特定场景优化的版本。这种情况下,它可能会包含更多新颖的功能,但同时也可能存在一些不稳定因素。 区别总结: - **稳定性**:2.x系列更为稳定,适合生产环境部署;而2.H等可能包含了更多的实验性或改进特性,适用于追求创新和技术前沿的开发者。 - **功能**:随着版本迭代,2.H可能会有额外的新特性,但也可能导致学习曲线稍陡。 - **兼容性和迁移**:如果你正在维护一个项目并希望平稳升级,2.x通常是更安全的选择;如果是从头开始或尝试新技术,可以根据需求选择2.H。 相关问题: 1. Spring Boot 2.x相对于旧版本有哪些主要提升? 2. Spring Boot 2.H中新增了哪些关键技术或功能? 3. 在选择Spring Boot版本时,如何权衡稳定性与新特性?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值