Tôi có một tệp cấu hình application.yml
duy nhất cho ứng dụng Khởi động mùa xuân của tôi xác định hai cấu hình (như được mô tả trong documentation).Tôi có thể xác định Thuộc tính Hệ thống trong các tệp cấu hình Spring Boot không?
Khi hồ sơ sản xuất được bật, tôi muốn đặt thuộc tính hệ thống http.maxConnections
thành giá trị tùy chỉnh, ví dụ:
spring:
profiles:
active: dev
---
spring:
profiles: dev
---
spring:
profiles: production
http:
maxConnections: 15
Nhưng điều này không thực sự đặt thuộc tính mức hệ thống; có vẻ như chỉ tạo thuộc tính cấp ứng dụng. Tôi đã xác minh điều này thông qua cả hai http://locahost:8080/env và một điều khiển JMX khi so sánh bằng cách ra
java -jar -Dspring.profiles.active=production myapp.jar
so
java -Dhttp.maxConnections=15 myapp.jar
Tôi cho rằng tôi có thể tạo ra một bean đó là @Conditional
vào "sản xuất" hồ sơ mà lập trình gọi System.setProperty
dựa trên thuộc tính được định nghĩa application.yml
của tôi, nhưng có cách nào đơn giản hơn thông qua các tệp cấu hình không?
vấn đề là bạn cần triển khai lại nếu bạn muốn thay đổi điều này, nếu không bạn chỉ có thể sửa đổi và khởi động lại ứng dụng – Palcente
@Palcente yes, điều đó có lý. Tôi tin rằng bạn có thể đặt các thuộc tính trong 'application-production.yml' sẽ được sử dụng trong hồ sơ' production'. – TheKojuEffect