我的项目设置如下:
我想动态填写application.conf值。
应从正确的属性文件($ {env} .props.properties)中读取这些值。正确的属性文件取决于使用run或build命令(Denv = xxx)给出的属性env。
application.conf
关键= $ {} my.property.value.read.from.props.properties.file
键2 = ...
提前致谢!
答案 0 :(得分:1)
通过在运行应用程序时指定标志-Dconfig.resource=your.file.properties
,可以告诉Typesafe Config完全加载不同的配置文件。如果配置文件不是捆绑资源,则可以使用-Dconfig.file=/path/to/your.file.properties
。 (您也可以使用-Dconfig.url
指定网址;有关详细信息,请参阅https://github.com/typesafehub/config#user-content-standard-behavior)
执行此操作将完全跳过加载application.conf,因此请记住在您自己的属性文件中设置Play!特定属性。
答案 1 :(得分:0)
您可以尝试使用Typesafe ConfigFactory.invalidateCaches
来使无效的配置条目。正如api doc所说;首先进行更改,然后在api之上调用,然后调用load()
(一种解决方案是让调度程序每隔x个间隔调用一次)。
免责声明-我还没有尝试过
https://lightbend.github.io/config/latest/api/com/typesafe/config/ConfigFactory.html#invalidateCaches--