Ho un singolo file di configurazione application.yml
per la mia app Spring Boot che definisce due profili (come descritto nello documentation).Posso definire le Proprietà di sistema nei file di configurazione di Spring Boot?
Quando il profilo di produzione è abilitato, desidero impostare la proprietà di sistema http.maxConnections
su un valore personalizzato, ad es.
spring:
profiles:
active: dev
---
spring:
profiles: dev
---
spring:
profiles: production
http:
maxConnections: 15
Ma in realtà non imposta la proprietà del livello di sistema; sembra solo creare una proprietà a livello di applicazione. Ho verificato questo sia attraverso http://locahost:8080/env e una console JMX quando si confrontano lancio da
java -jar -Dspring.profiles.active=production myapp.jar
contro
java -Dhttp.maxConnections=15 myapp.jar
Suppongo che potrei creare un fagiolo che è @Conditional
sul profilo "produzione" che chiama programmazione System.setProperty
in base alla mia proprietà definita application.yml
, ma c'è un modo più semplice attraverso i file di configurazione da solo?
il problema è, è necessario ridistribuire se si vuole cambiare questo, altrimenti si può solo modificare e riavviare la vostra applicazione – Palcente
@Palcente sì, ha senso. Credo che tu possa mettere le proprietà in 'application-production.yml' che saranno usate nel profilo' production'. – TheKojuEffect