Ich habe eine einzige application.yml
Konfigurationsdatei für meine Spring Boot App, die zwei Profile definiert (wie in der documentation beschrieben).Kann ich Systemeigenschaften in Spring Boot-Konfigurationsdateien definieren?
Wenn das Produktionsprofil aktiviert ist, möchte ich die Systemeigenschaft http.maxConnections
auf einen benutzerdefinierten Wert festlegen, z.
spring:
profiles:
active: dev
---
spring:
profiles: dev
---
spring:
profiles: production
http:
maxConnections: 15
Aber dies stellt nicht tatsächlich die System-Level-Eigenschaft; Es scheint nur eine Eigenschaft auf Anwendungsebene zu erstellen. Ich habe sowohl das durch http://locahost:8080/env verifiziert und eine JMX-Konsole, wenn sie von
java -jar -Dspring.profiles.active=production myapp.jar
gegen
java -Dhttp.maxConnections=15 myapp.jar
Abschuss Vergleich Ich glaube, ich könnte eine Bohne erstellen, die @Conditional
auf die „Herstellung“ Profil ist die programmatisch ruft System.setProperty
basierend auf meiner application.yml
-defined-Eigenschaft, aber gibt es einen einfacheren Weg durch Konfigurationsdateien allein?
das Problem ist, müssen Sie erneut bereitstellen, wenn Sie dies ändern wollen, sonst hat man es nur ändern könnte, und starten Sie Ihre App – Palcente
@Palcente ja, die Sinn machen. Ich glaube, dass Sie Eigenschaften in 'application-production.yml' setzen können, die im' production' Profil verwendet werden. – TheKojuEffect