如何解决springboot自动重启问题

 更新时间:2023年09月20日 14:44:24   作者:离岸&南墙  
这篇文章主要介绍了如何解决springboot自动重启问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

springboot自动重启

主要原因 

如果应用使用 spring-boot-devtools ,则只要classpath下的文件有变动,它就会自动重启。这在使用IDE时非常有用,因为可以很快得到代码改变的反馈。

默认情况下,classpath下任何指向文件夹的实体都会被监控,注意一些资源的修改比如静态assets,视图模板不需要重启应用。

在项目工程中,如果你的日志是输出在classpath下,而且是RollingFile,那么你的idea肯定会不断重启,我的就是这种情况。

spring-boot-devtools为springboot热部署模块

主要作用:监控是否修改代码,直接进行编译,快速得到项目响应

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>true</scope>
</dependency>

解决办法

1.在项目pom.xml文件中将相应热部署模块删除,重新加载项目依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>true</scope>
</dependency>

2.在配置文件中更改devtools状态

将devtools工具状态更改为false

注意:如果每次修改后台代码需要重新启动项目,进行编译,仅修改前端代码无需重启项目,可以直接在浏览器端看到修改后的内容

自动重启springboot jar程序,让程序用不宕机

有时候我们已经会遇到服务突然掉线的问题,但是我们一直不知道,一直等到有人通知,或者自检的时间才发现。

现在我为了确保服务在停止后,能够自动重启,做一个自动检测脚本xxx.sh,放到系统定时任务里面,几分钟检测一次查看服务在不在线,如果不在就重启服务。

sh脚本的写法:

#!/bin/bash
    num=`ps -ef|grep jar包名|grep -v grep|wc -l`
    if [ $num -lt 1 ];then
        source /etc/profile 
        nohup java -jar /xxx/xxx/xxx.jar >> /xxx/xxx/log-server-$(date +%Y-%m-%d).log 2>&1
    else
        echo $(date '+%Y-%m-%d %H:%M:%S') $@ >> /xxx/xxx/log.log
    fi

crontab -e 查看定时任务,

点击 insert 按键编写定时任务,

# 注释
*/3 * * * * /xxx/xxx/start.sh

定时任务编写完成后,点击 Esc 按键,输入“:wq” 在点击回车,退出

最后给sh脚本文件设置权限

chmod 777 start.sh

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java 远程文件url如何转为输入流

    java 远程文件url如何转为输入流

    这篇文章主要介绍了java 远程文件url如何转为输入流方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java程序运行之JDK,指令javac java解读

    Java程序运行之JDK,指令javac java解读

    这篇文章主要介绍了Java程序运行之JDK,指令javac java,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • SpringBoot实现自定义指标监控功能

    SpringBoot实现自定义指标监控功能

    本文主要介绍了SpringBoot实现自定义指标监控功能的实现,,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴跟着着小编来一起来学习吧
    2024-01-01
  • Java用局域网实现聊天室功能

    Java用局域网实现聊天室功能

    这篇文章主要为大家详细介绍了Java用局域网实现聊天室功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • mybatis多表查询的实现(xml方式)

    mybatis多表查询的实现(xml方式)

    本文主要介绍了mybatis多表查询的实现(xml方式),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • springboot相互依赖 server相互引用方式

    springboot相互依赖 server相互引用方式

    这篇文章主要介绍了springboot相互依赖 server相互引用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 浅析Java中Split函数的用法技巧

    浅析Java中Split函数的用法技巧

    在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧。以下我就为大家介绍,需要的朋友可以参考下
    2013-07-07
  • 深入解析Java编程中方法的参数传递

    深入解析Java编程中方法的参数传递

    这篇文章主要介绍了Java编程中方法的参数传递,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-10-10
  • springboot 集成dubbo的步骤详解

    springboot 集成dubbo的步骤详解

    这篇文章主要介绍了springboot 简易集成dubbo的步骤详解,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • java基础入门之IO流

    java基础入门之IO流

    流是一种抽象概念,它代表了数据的无结构化传递。。用来进行输入输出操作的流就称为IO流。换句话说,IO流就是以流的方式进行输入输出
    2021-06-06

最新评论