加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala中具体的环境配置

发布时间:2020-12-16 19:07:35 所属栏目:安全 来源:网络整理
导读:什么是在 Scala中设置项目的好方法,它根据环境使用不同的配置. 我需要具体的开发,测试和生产环境的数据库不同(类似于在Rails中做的) 解决方法 我使用的另一个策略是使用 includes . 我通常将我的DEV设置存储在 default application.conf文件中,然后为其他环
什么是在 Scala中设置项目的好方法,它根据环境使用不同的配置.

我需要具体的开发,测试和生产环境的数据库不同(类似于在Rails中做的)

解决方法

我使用的另一个策略是使用 includes.
我通常将我的DEV设置存储在 default application.conf文件中,然后为其他环境创建一个新的conf文件,并包含默认设置.

假设我的DEV conf application.conf如下所示:

myapp {
    server-address = "localhost"
    server-port = 9000

    some-other-setting = "cool !"
}

然后对于PROD,我可以有另一个名为prod.conf的文件:

include "application"

# override default (DEV) settings
myapp {
    server-address = ${PROD_SERVER_HOSTNAME}
    server-port = ${PROD_SERVER_PORT}
}

请注意,我仅覆盖在PROD环境中更改的设置(某些其他设置因此与DEV中相同).

配置引导代码不测试任何内容

...
val conf = ConfigFactory.load()
...

要从DEV切换到PROD conf,只需传递一个具有配置文件名称的系统属性即可加载:

java -Dconfig.resource=prod.conf ...

在DEV中,不需要传递它,因为application.conf将被加载到default.

所以在这里我们使用Typesafe Config的默认加载机制来实现这一点.

我创建了一个简单的project来演示这种技术.随意克隆和实验.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读