如何解決springboot自動(dòng)重啟問題
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)行編譯,僅修改前端代碼無需重啟項(xiàng)目,可以直接在瀏覽器端看到修改后的內(nèi)容
自動(dòng)重啟springboot jar程序,讓程序用不宕機(jī)
有時(shí)候我們已經(jīng)會(huì)遇到服務(wù)突然掉線的問題,但是我們一直不知道,一直等到有人通知,或者自檢的時(shí)間才發(fā)現(xiàn)。
現(xiàn)在我為了確保服務(wù)在停止后,能夠自動(dòng)重啟,做一個(gè)自動(dòng)檢測(cè)腳本xxx.sh,放到系統(tǒng)定時(shí)任務(wù)里面,幾分鐘檢測(cè)一次查看服務(wù)在不在線,如果不在就重啟服務(wù)。
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 查看定時(shí)任務(wù),
點(diǎn)擊 insert 按鍵編寫定時(shí)任務(wù),
# 注釋 */3 * * * * /xxx/xxx/start.sh
定時(shí)任務(wù)編寫完成后,點(diǎn)擊 Esc 按鍵,輸入“:wq” 在點(diǎn)擊回車,退出
最后給sh腳本文件設(shè)置權(quán)限
chmod 777 start.sh
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java如何使用multipartFile對(duì)象解析Execl
本文介紹了如何使用Spring的MultipartFile類解析Excel文件(.xls和.xlsx),包括文件上傳、數(shù)據(jù)校驗(yàn)、輸入流獲取、文件解析、數(shù)據(jù)保存和異常處理的詳細(xì)步驟2025-02-02詳解如何為SpringBoot Web應(yīng)用的日志方便追蹤
在Web應(yīng)用程序領(lǐng)域,有效的請(qǐng)求監(jiān)控和可追溯性對(duì)于維護(hù)系統(tǒng)完整性和診斷問題至關(guān)重要,SpringBoot是一種用于構(gòu)建Java應(yīng)用程序的流行框架,在本文中,我們探討了在SpringBoot中向日志添加唯一ID的重要性,需要的朋友可以參考下2023-11-11Springboot啟用多個(gè)監(jiān)聽端口代碼實(shí)例
這篇文章主要介紹了Springboot啟用多個(gè)監(jiān)聽端口代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Springboot項(xiàng)目使用html5的video標(biāo)簽完成視頻播放功能
這篇文章主要介紹了Springboot項(xiàng)目使用html5的video標(biāo)簽完成視頻播放功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12如何對(duì)?Excel?表格中提取的數(shù)據(jù)進(jìn)行批量更新
這篇文章主要介紹了如何對(duì)Excel表格中提取的數(shù)據(jù)進(jìn)行批量更新操作,本文通過示例代碼介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-06-06Spring?Get請(qǐng)求與post請(qǐng)求的實(shí)現(xiàn)
在Spring中,GET請(qǐng)求和POST請(qǐng)求是兩種常見的HTTP請(qǐng)求方法,用于與服務(wù)器進(jìn)行交互,本文詳細(xì)的介紹一下Spring?Get請(qǐng)求與post請(qǐng)求的實(shí)現(xiàn),感興趣的可以了解一下2023-10-10java?HttpURLConnection類的disconnect方法與http長(zhǎng)連接詳解
這篇文章主要介紹了java?HttpURLConnection類的disconnect方法與http長(zhǎng)連接,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04Kafka producer端開發(fā)代碼實(shí)例
這篇文章主要介紹了Kafka producer端開發(fā)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11