У меня есть один конфигурационный файл application.yml
для моего приложения 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, который @Conditional
в профиле "production", который программным образом вызывает System.setProperty
на основе моего свойства application.yml
-defined, но есть ли более простой способ только через файлы конфигурации?