我的Spring Boot應用程序有一個application.yml
配置文件,它定義了兩個配置文件(如documentation中所述)。我可以在Spring Boot配置文件中定義系統屬性嗎?
當生產配置文件啓用時,我想將http.maxConnections
系統屬性設置爲自定義值,例如,
spring:
profiles:
active: dev
---
spring:
profiles: dev
---
spring:
profiles: production
http:
maxConnections: 15
但是,這實際上並沒有設置系統級別的屬性;它似乎只是創建一個應用程序級屬性。我通過兩個http://locahost:8080/env驗證了這一點和JMX控制檯通過
java -jar -Dspring.profiles.active=production myapp.jar
比較下水時與
java -Dhttp.maxConnections=15 myapp.jar
我想我可以創建一個bean,關於「生產」配置文件,編程調用System.setProperty
是@Conditional
基於我的application.yml
-定義的屬性,但通過配置文件是否有一個更簡單的方法?
的問題是,你需要重新部署,如果你想改變它,否則,你可以只修改並重新啓動應用程序 – Palcente
@Palcente是的,這是有意義的。我相信你可以把屬性放在'application-production.yml'中,它將被用在'production'配置文件中。 – TheKojuEffect