如何解決springboot自動(dòng)重啟問(wèn)題
springboot自動(dòng)重啟
主要原因
如果應(yīng)用使用 spring-boot-devtools ,則只要classpath下的文件有變動(dòng),它就會(huì)自動(dòng)重啟。這在使用IDE時(shí)非常有用,因?yàn)榭梢院芸斓玫酱a改變的反饋。
默認(rèn)情況下,classpath下任何指向文件夾的實(shí)體都會(huì)被監(jiān)控,注意一些資源的修改比如靜態(tài)assets,視圖模板不需要重啟應(yīng)用。
在項(xiàng)目工程中,如果你的日志是輸出在classpath下,而且是RollingFile,那么你的idea肯定會(huì)不斷重啟,我的就是這種情況。
spring-boot-devtools為springboot熱部署模塊
主要作用:監(jiān)控是否修改代碼,直接進(jìn)行編譯,快速得到項(xiàng)目響應(yīng)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>true</scope>
</dependency>解決辦法
1.在項(xiàng)目pom.xml文件中將相應(yīng)熱部署模塊刪除,重新加載項(xiàng)目依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>true</scope>
</dependency>2.在配置文件中更改devtools狀態(tài)

將devtools工具狀態(tài)更改為false
注意:如果每次修改后臺(tái)代碼需要重新啟動(dòng)項(xiàng)目,進(jìn)行編譯,僅修改前端代碼無(wú)需重啟項(xiàng)目,可以直接在瀏覽器端看到修改后的內(nèi)容
自動(dòng)重啟springboot jar程序,讓程序用不宕機(jī)
有時(shí)候我們已經(jīng)會(huì)遇到服務(wù)突然掉線的問(wèn)題,但是我們一直不知道,一直等到有人通知,或者自檢的時(shí)間才發(fā)現(xiàn)。
現(xiàn)在我為了確保服務(wù)在停止后,能夠自動(dòng)重啟,做一個(gè)自動(dòng)檢測(cè)腳本xxx.sh,放到系統(tǒng)定時(shí)任務(wù)里面,幾分鐘檢測(cè)一次查看服務(wù)在不在線,如果不在就重啟服務(wù)。
sh腳本的寫(xiě)法:
#!/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 查看定時(shí)任務(wù),
點(diǎn)擊 insert 按鍵編寫(xiě)定時(shí)任務(wù),
# 注釋 */3 * * * * /xxx/xxx/start.sh
定時(shí)任務(wù)編寫(xiě)完成后,點(diǎn)擊 Esc 按鍵,輸入“:wq” 在點(diǎn)擊回車(chē),退出
最后給sh腳本文件設(shè)置權(quán)限
chmod 777 start.sh
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java 分轉(zhuǎn)元與元轉(zhuǎn)分實(shí)現(xiàn)操作
這篇文章主要介紹了java 分轉(zhuǎn)元與元轉(zhuǎn)分實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
IDEA基于支付寶小程序搭建springboot項(xiàng)目的詳細(xì)步驟
這篇文章主要介紹了IDEA基于支付寶小程序搭建springboot項(xiàng)目的詳細(xì)步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04
Java Socket編程實(shí)現(xiàn)簡(jiǎn)單的問(wèn)候服務(wù)
這篇文章主要為大家介紹了Java Socket編程實(shí)現(xiàn)簡(jiǎn)單的問(wèn)候服務(wù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01
Log4j關(guān)閉Spring和Hibernate日志打印方式
這篇文章主要介紹了Log4j關(guān)閉Spring和Hibernate日志打印方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
關(guān)于Spring注解@Async引發(fā)其他注解失效的解決
這篇文章主要介紹了關(guān)于Spring注解@Async引發(fā)其他注解失效的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
如何使用Spring-Test對(duì)Spring框架進(jìn)行單元測(cè)試
這篇文章主要介紹了如何使用Spring-Test對(duì)Spring框架進(jìn)行單元測(cè)試,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09

