TroubleShooting-Springboot java进程无法启动成功
我们有一个Springboot的web service每隔一段时间大概两天就会无法自动启动成功,我们有监控进程用来检测/api/healthcheck如果没有返回alive就会自动重启这个service。对比可以正常启动情况下的log和无法正常启动时的,失败时有大量的如下log:
2019-12-28 03:31:07.937 INFO 17313 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
2019-12-28 03:31:08.654 INFO 17313 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
2019-12-28 03:31:08.686 INFO 17313 --- [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface xxx.
而且每次不能成功启动,会停在如下位置:
2019-12-28 03:31:13.069 INFO 17313 --- [localhost-startStop-1] org.hibernate.Version : HHH000412: Hibernate Core {5.2.17.Final}
2019-12-28 03:31:13.072 INFO 17313 --- [localhost-startStop-1] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2019-12-28 03:31:13.139 INFO 17313 --- [localhost-startStop-1] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
2019-12-28 03:31:14.025 INFO 17313 --- [localhost-startStop-1] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
2019-12-28 03:31:14.122 INFO 17313 --- [localhost-startStop-1] o.h.e.boot.internal.EnversServiceImpl : Envers integration enabled? : true
2019-12-28 03:31:14.737 INFO 17313 --- [localhost-startStop-1] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.HSQLDialect
2019-12-28 03:31:59.392 INFO 17313 --- [localhost-startStop-1] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-12-28 03:32:00.502 INFO 17313 --- [localhost-startStop-1] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory
从log看存在Multiple Spring Data modules found,所以怀疑是不是用来重启service的脚本太频繁了,还没有等到service启动完成,所有检测不到alive,又开始下一次重启。使用sudo crontab -l查看当前用来启动service的task是每分钟重启一次。
* * * * * /bin/date >> /home/ec2-user/restart.log;/home/ec2-user/restartDeadxxx.sh >> /home/ec2-user/restart.log
使用命令sudo service crond stop将cron停掉后,进程可以正常启动了。
另外一个同样运行该服务的instance中的cron job是每5分钟执行一次,所有将本机的cron job也修改为每5分钟检测一次。
*/5 * * * * /bin/date >> /home/ec2-user/restart.log;/home/ec2-user/restartDeadxxx.sh >> /home/ec2-user/restart.log
TroubleShooting-Springboot java进程无法启动成功相关推荐
- nohup命令解决SpringBoot/java -jar命令启动项目运行一段时间自动停止问题
nohup命令解决SpringBoot/java -jar命令启动项目运行一段时间自动停止问题 问题背景 有一个springboot项目,放在测试服务器跑,但是隔一段时间,就会GG,要搞清楚怎么回事. ...
- linux 使用systemctl 设置java进程开机启动,管理springboot开机进程
该过程默认已经安装jdk.java程序启动方式有多重,列出如下几种. 1.java -jar demo.jar 使用该命令程序在控制台输出启动,当按下Ctrl+C和关闭终端时,程序会终止.输出日志,在 ...
- java jmx 监控_利用VisualVm和JMX远程监控Java进程
在前一篇文章里我们发现通过jstatd + VisualVm的方式,不能获得Java进程的CPU.线程.MBean信息,这时JMX就要登场了. 自Java 6开始,Java程序启动时都会在JVM内部启 ...
- 如何优雅地停止Java进程
目录 理解停止Java进程的本质 应该如何正确地停止Java进程 如何注册关闭钩子 使用关闭钩子的注意事项 信号量机制 总结 理解停止Java进程的本质 我们知道,Java程序的运行需要一个运行时环境 ...
- vmx进程已提前退出_如何优雅地停止Java进程
目录 理解停止Java进程的本质 应该如何正确地停止Java进程如何注册关闭钩子使用关闭钩子的注意事项信号量机制 总结 理解停止Java进程的本质 我们知道,Java程序的运行需要一个运行时环境,即: ...
- java 结束程序_如何优雅地停止Java进程
目录 理解停止Java进程的本质 我们知道,Java程序的运行需要一个运行时环境,即:JVM,启动Java进程即启动了一个JVM. 因此,所谓停止Java进程,本质上就是关闭JVM. 那么,哪些情况会 ...
- java进程、线程知识扩充
进程 https://blog.csdn.net/hellokandy/article/details/87873649 1.一个进程至少得有一个线程,我们把这个线程称之为"主线程" ...
- 一次简单的JAVA进程到线程资源使用率异常分析
1 前言导读 开发&测试人员在应用运行&测试过程中会遇到以下常见问题 在测试&调试过程中,应用会出现卡顿或接口响应失败问题,不知如何入手? 开发&测试人员在排查响应失败 ...
- 为什么设置-Xmx4g但是java进程内存占用达到8g?
前言 不知道大家在开发过程中有没有遇到过类似的问题,明明通过JVM参数-Xmx4g设置了最大堆内存大小为4g,但是程序运行一段时间后发现占用的内存明显超过了8g,却并没有出现内存溢出等问题,那是什么东 ...
最新文章
- centos7-yum安装与卸载
- lhgdialog 4.2.0 正式版发布
- java jconsole rmi 连接不上
- Kinect开发学习笔记之(二)Kinect开发学习资源整理
- 太晚了!iPhone屏下指纹或要等到2021年才安排
- 04-并发编程-CountDownLatch、CyclicBarrier和 Semaphore
- dedecms m view.php,dedecms在php7下的使用方法 织梦dedecsm后台一片空白的解决方法
- Asp.Net MVC 身份验证-Forms
- excel怎么设置自动计算_用Excel,做一套税费计算表|自动计算 自动汇总 四个税种【梓晖】...
- python文本错别字检测
- 升华网第三次培训心得
- 事务的特性——持久性(实现原理)
- oracle全角改半角,Oracle全角数字转换半角数字
- 虚拟机kali升级最新_kali安装、改变更新源、vmware tools、虚拟机全屏
- 新版标准日本语初级_第二十三课
- Python爬虫实战+数据分析+数据可视化(豆瓣八佰电影影评)
- Java程序中如何判断一个数是否为素数
- SpringBoot 项目 Shiro 的实现
- CST shape tools
- SELinux 的工作模式(Disabled、Permissive和Enforcing)
热门文章
- matlab解带参数方程,matlab求解变参数方程
- java 文件插件下载_JPlugin
- wordpress新闻杂志主题Newspaper中文版
- Oracle Primavera P6 20.12 安装要求
- cookie是什么东西?
- ios大神班学习大纲
- 用VideoView播放视频出现Can't play this video原因
- bug:poi、Cannot get a STRING value from a NUMERIC cell
- 【前端】HTML简介
- 碎碎念No.06 跟眼镜店的人就不必有什么客气|CSDN创作打卡