色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

Spring Boot jar 啟動時設置環(huán)境參數(shù)的操作

瀏覽:2日期:2023-07-12 14:18:46
Spring Boot jar 啟動時設置環(huán)境參數(shù)1 摘要

通常在使用 Spring Boot 開發(fā)項目時需要設置多環(huán)境(測試環(huán)境與生產(chǎn)環(huán)境等),但是項目打包卻只能指定一種環(huán)境,有沒有一種辦法,能夠只打一個 jar 包,但是啟動的時候指定項目環(huán)境?作者經(jīng)過在網(wǎng)上查閱資料并測試,發(fā)現(xiàn)這一功能可以實現(xiàn),這就大大方便了項目的部署工作(可以實現(xiàn)多環(huán)境自動部署)。

2 核心代碼

2.1 spring Boot 多環(huán)境配置

../demo-web/src/main/resources/application.yml

## spring configspring: # environment: dev|test|pro profiles: active: dev

2.2 spring Boot 項目啟動命令

Linux 命令行后臺啟動 spring boot jar:

nohup java -jar xxx.jar --spring.profiles.active=test > /dev/null 2>&1 &

根據(jù)不同的部署環(huán)境修改 --spring.profiles.active 值即可

3 Spring boot 簡易啟動與停止 shell 腳本

3.1 啟動腳本

../doc/script/start-springboot.sh

#!/bin/sh# # 啟動 jar 運行# 項目部署目錄projectDir=/opt/springboot/# 項目運行 jar 名稱jarName='springbootdemo.jar'# 腳本日志目錄logDir=/var/log/springbootdemo/# 項目部署環(huán)境profileActive=dev# 這里的-x 參數(shù)判斷${logDir}是否存在并且是否具有可執(zhí)行權(quán)限 if [ ! -x '${logDir}' ]; then mkdir -p '${logDir}' fi # 判斷項目SpringBoot程序是否運行count=$(ps -ef |grep ${jarName} |grep -v 'grep' |wc -l)if [ ${count} -lt 1 ]; then cd ${projectDir} nohup java -jar ${jarName} --spring.profiles.active=${profileActive} > /dev/null 2>&1 & echo '$(date ’+%Y-%m-%d %H:%M:%S’) 啟動 ${jarName} 程序 ... ...' >> ${logDir}$(date '+%Y-%m-%d').log else echo '$(date ’+%Y-%m-%d %H:%M:%S’) ${jarName} 程序運行正常 !!! !!!' >> ${logDir}$(date '+%Y-%m-%d').logfi

3.2 停止腳本

../doc/script/stop-springboot.sh

#!/bin/sh# # 停止 jar 運行# 項目部署目錄projectDir='/opt/springboot/'# 項目運行 jar 名稱jarName='springbootdemo.jar'# 腳本名稱scriptName='stop-springboot.sh'# 判斷項目SpringBoot程序是否運行count=$(ps -ef |grep ${jarName} |grep -v 'grep' |wc -l)if [ ${count} -gt 0 ]; then echo '已經(jīng)存在 ${count} 個${jarName} 程序在運行' # 獲取正在運行的程序進程 id(排除 grep 本身、awk 命令以及腳本本身) jarPid=$(ps x | grep ${jarName} | grep -v grep | grep -v ’${scriptName}’ | awk ’{print $1}’) # 停止正在運行的項目進程 kill -9 ${jarPid} output=`echo '正在關閉${jarName}程序,進程id: ${jarPid}'` echo ${output}else echo ’沒有對應的程序在運行’fi# 刪除 jar 包rm -rf ${projectDir}${jarName}# 進入 項目部署目錄cd ${projectDir}

3.3 監(jiān)控 Spring Boot 項目

生產(chǎn)環(huán)境中如果因為各種原因從而導致項目停止運行,則此時服務器便不能對外提供服務,為了保證服務能夠在無人值守的時間段內(nèi)持續(xù)提供服務,實現(xiàn)項目的自動 修復/重啟 顯得尤為重要。在這里,使用一種簡單粗暴的方式,項目掛掉,直接重啟,通過使用定時任務執(zhí)行啟動腳本即可。

定時任務 crontab 簡單使用,以 centOS 7 為例:

開機啟動定時任務服務

systemctl enable cornd

啟動定時任務

systemctl start cornd

關閉定時任務服務

systemctl stop crond

添加、編輯定時任務

crontab -e

內(nèi)容如下:

00,10,20,30,40,50 * * * * /root/script/start-xxx.sh

當前定時任務意思為每 10 分鐘執(zhí)行一次同步腳本

cron 表達式說明:

* * * * * command(s)- - - - -| | | | || | | | ----- Day of week (0 - 7) (Sunday=0 or 7)| | | ------- Month (1 - 12)| | --------- Day of month (1 - 31)| ----------- Hour (0 - 23)------------- Minute (0 - 59)

在線生成 cron : http://cron.qqe2.com/

注意事項 : */5 * * * * 表示每 5 分鐘執(zhí)行一次,但是可能會在部分系統(tǒng)中不執(zhí)行

4 Github 源碼

Gtihub 源碼地址 : https://github.com/Flying9001/springBootDemo

springboot項目啟動參數(shù)詳解

本文介紹springboot項目啟動時增加啟動參數(shù)的多種方式,我們都知道Spring在注入屬性時可以通過@Value注解注入屬性,那么@Value可以讀取的范圍有哪些呢?這就是本文的主要內(nèi)容。

以下幾種方式都可以被@Value讀取到

1、java -jar -Dserver.port=8888 -Xms1024m demo.jar

這種方式增加的參數(shù)是被設置到應用的系統(tǒng)屬性中,可以使用System.getProperty(“server.port”)獲取(可以在idea的idea VM options中配置,以空格分隔)

-D(defintion)表示自定義參數(shù)

2、java -jar demo.jar --server.port=8888

這種方式增加的參數(shù)是屬于命令行參數(shù),即會從springboot啟動時的main方法的String[] args中作為參數(shù)傳入(可以在idea的program arguments中配置,以空格分隔)

3、從操作系統(tǒng)的環(huán)境變量中讀取

這種方式的參數(shù)即屬于操作系統(tǒng)方面的,比如安裝jdk時設置的環(huán)境變量,定義JAVA_HOME,也可以通過System.getenv(“JAVA_HOME”)獲取,(可以在idea的VM Environment variables中配置,以;分隔)

4、通過項目中配置文件bootstrap/application文件載入

這種方式是在項目中配置的方式,比較常見

以上就是常見的多種方式介紹

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Spring
相關文章:
主站蜘蛛池模板: 2020国产微拍精品一区二区 | 欧美一级久久久久久久久大 | 最新精品亚洲成a人在线观看 | 亚洲在线视频播放 | 一区二区三区 日韩 | 在线亚洲日产一区二区 | 久久久久久久性潮 | 国产玖玖视频 | 亚洲在线免费观看视频 | 色狠狠色综合吹潮 | 日本黄色美女网站 | 黄网站免费在线 | 亚洲成在线| 欧美成人精品动漫在线专区 | 9久9久热精品视频在线观看 | 亚洲精品一区二区三区www | 亚洲精品国产福利片 | 免费一级欧美毛片 | 欧美日本高清 | 免费观看一级成人毛片 | 久99久精品视频免费观看v | 国产精品免费一级在线观看 | 国产八区 | 99热只有精品一区二区 | 免费播放aa在线视频成人 | 精品视频一区二区三区在线观看 | 三级理论手机在线观看视频 | 99久久精品国产一区二区 | 99久久精品99999久久 | 日本三级中文字幕 | aaa级精品久久久国产片 | 日韩高清在线播放不卡 | 18年大片免费在线观看 | 男人精品一线视频在线观看 | 久久国产精品免费网站 | 欧美国产在线观看 | 国产精品亚洲专区在线播放 | 欧美成人香蕉网在线观看 | 亚洲国产精品网 | 男女扒开双腿猛进入爽爽视频 | 一本色道久久综合亚洲精品高清 |