动态替换Play项目中的配置文件中的值

时间:2019-02-20 08:20:39

标签: scala playframework runtime configuration-files application.conf

我需要在scala的Play 2.4项目中实现以下目标。

application.conf文件中以下配置变量(section.server.linux)中脚本中的变量[URL]在运行时需要替换为签名的URL。

application.conf:

section.server.linux = """
 #!/bin/sh
        if [ ! -d /opt/component ]; then
        cd /tmp
        curl -ko ./abc_linux.zip "[URL]"
        distro=unknown
    .............
"""

要从类的配置文件中获取section.server.linux内的脚本字符串,如下所示:

val scriptBase_linux = sys.settings.config.as[String]("section.server.linux")

并使用此变量scriptBase_linux和AWS-JAVA-SDK(版本1.11.492)的内置函数,我能够生成签名的URL并将其替换为脚本中的变量[URL],即现在位于类中,作为字符串存储在val updatedLinuxScript中。

现在,我需要用此更新的脚本(存储在类型{{1的section.server.linux中)替换application.conf文件中原始脚本(存储在类型String的{​​{1}}中) }})放在类文件中,并且应该在运行时发生。

我们如何在运行时更新配置文件以实现此目的?

任何建议都可以帮上忙。谢谢。

0 个答案:

没有答案