记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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值