【发布时间】:2021-03-15 12:33:20
【问题描述】:
我有一个 spring 配置服务器在 localhost 的 8888 端口上运行。这是来自相关属性文件的 sn-p:
server.port=8085
ideal.connection.threshold.millis=600000
listener.port=3042
number.of.backlog.ports=1000
我正在尝试从命令行覆盖这些属性。我在
我尝试过的事情
java -Dspring.profiles.active=<profile_name> -Dlistener.port=3034 -Dserver.port=9096-Xmx2048m -jar listener-0.0.1-SNAPSHOT.jar
java -Dspring.profiles.active=<profile_name> --listener.port=3034 --server.port=9096-Xmx2048m -jar listener-0.0.1-SNAPSHOT.jar
java -Dspring.profiles.active=<profile_name> -Xmx2048m -jar listener-0.0.1-SNAPSHOT.jar --listener.port=3034 --server.port=9096
java -Dspring.profiles.active=<profile_name> -Xmx2048m -jar listener-0.0.1-SNAPSHOT.jar -Dlistener.port=3034 -Dserver.port=9096
上述方法都不起作用,实际上第二种方法导致
Unrecognized option: --listener.port=3034
应该如此。其他 3 个选项导致从 spring-config 服务器获取配置。
所以我的问题是,有没有办法覆盖 spring 配置服务器,如果有,覆盖 spring 配置服务器中的配置的正确方法是什么?
【问题讨论】:
-
我从未声称它是。这些是 spring 配置服务器中特定于应用程序的属性。我正在尝试覆盖其中的几个,但它们不起作用。所以我正在寻找一种方法来覆盖 any 属性,否则一个真实的答案说这是不可能的。如果它让你更快乐,我会覆盖,比如说,ideal.connection.threshold.millis 或 number.of.backlog.ports。
标签: java spring spring-boot configuration