我们有一个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进程无法启动成功相关推荐

  1. nohup命令解决SpringBoot/java -jar命令启动项目运行一段时间自动停止问题

    nohup命令解决SpringBoot/java -jar命令启动项目运行一段时间自动停止问题 问题背景 有一个springboot项目,放在测试服务器跑,但是隔一段时间,就会GG,要搞清楚怎么回事. ...

  2. linux 使用systemctl 设置java进程开机启动,管理springboot开机进程

    该过程默认已经安装jdk.java程序启动方式有多重,列出如下几种. 1.java -jar demo.jar 使用该命令程序在控制台输出启动,当按下Ctrl+C和关闭终端时,程序会终止.输出日志,在 ...

  3. java jmx 监控_利用VisualVm和JMX远程监控Java进程

    在前一篇文章里我们发现通过jstatd + VisualVm的方式,不能获得Java进程的CPU.线程.MBean信息,这时JMX就要登场了. 自Java 6开始,Java程序启动时都会在JVM内部启 ...

  4. 如何优雅地停止Java进程

    目录 理解停止Java进程的本质 应该如何正确地停止Java进程 如何注册关闭钩子 使用关闭钩子的注意事项 信号量机制 总结 理解停止Java进程的本质 我们知道,Java程序的运行需要一个运行时环境 ...

  5. vmx进程已提前退出_如何优雅地停止Java进程

    目录 理解停止Java进程的本质 应该如何正确地停止Java进程如何注册关闭钩子使用关闭钩子的注意事项信号量机制 总结 理解停止Java进程的本质 我们知道,Java程序的运行需要一个运行时环境,即: ...

  6. java 结束程序_如何优雅地停止Java进程

    目录 理解停止Java进程的本质 我们知道,Java程序的运行需要一个运行时环境,即:JVM,启动Java进程即启动了一个JVM. 因此,所谓停止Java进程,本质上就是关闭JVM. 那么,哪些情况会 ...

  7. java进程、线程知识扩充

    进程 https://blog.csdn.net/hellokandy/article/details/87873649 1.一个进程至少得有一个线程,我们把这个线程称之为"主线程" ...

  8. 一次简单的JAVA进程到线程资源使用率异常分析

    1 前言导读 开发&测试人员在应用运行&测试过程中会遇到以下常见问题 在测试&调试过程中,应用会出现卡顿或接口响应失败问题,不知如何入手? 开发&测试人员在排查响应失败 ...

  9. 为什么设置-Xmx4g但是java进程内存占用达到8g?

    前言 不知道大家在开发过程中有没有遇到过类似的问题,明明通过JVM参数-Xmx4g设置了最大堆内存大小为4g,但是程序运行一段时间后发现占用的内存明显超过了8g,却并没有出现内存溢出等问题,那是什么东 ...

最新文章

  1. centos7-yum安装与卸载
  2. lhgdialog 4.2.0 正式版发布
  3. java jconsole rmi 连接不上
  4. Kinect开发学习笔记之(二)Kinect开发学习资源整理
  5. 太晚了!iPhone屏下指纹或要等到2021年才安排
  6. 04-并发编程-CountDownLatch、CyclicBarrier和 Semaphore
  7. dedecms m view.php,dedecms在php7下的使用方法 织梦dedecsm后台一片空白的解决方法
  8. Asp.Net MVC 身份验证-Forms
  9. excel怎么设置自动计算_用Excel,做一套税费计算表|自动计算 自动汇总 四个税种【梓晖】...
  10. python文本错别字检测
  11. 升华网第三次培训心得
  12. 事务的特性——持久性(实现原理)
  13. oracle全角改半角,Oracle全角数字转换半角数字
  14. 虚拟机kali升级最新_kali安装、改变更新源、vmware tools、虚拟机全屏
  15. 新版标准日本语初级_第二十三课
  16. Python爬虫实战+数据分析+数据可视化(豆瓣八佰电影影评)
  17. Java程序中如何判断一个数是否为素数
  18. SpringBoot 项目 Shiro 的实现
  19. CST shape tools
  20. SELinux 的工作模式(Disabled、Permissive和Enforcing)

热门文章

  1. matlab解带参数方程,matlab求解变参数方程
  2. java 文件插件下载_JPlugin
  3. wordpress新闻杂志主题Newspaper中文版
  4. Oracle Primavera P6 20.12 安装要求
  5. cookie是什么东西?
  6. ios大神班学习大纲
  7. 用VideoView播放视频出现Can't play this video原因
  8. bug:poi、Cannot get a STRING value from a NUMERIC cell
  9. 【前端】HTML简介
  10. 碎碎念No.06 跟眼镜店的人就不必有什么客气|CSDN创作打卡