我的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