42

我有application.conf一个结构如下的文件:

poller {
  datacenters = []
}

我想"datacenters"在命令行上覆盖。

对于值是简单类型(字符串、数字)的其他配置键,我可以使用覆盖-Dpath.to.config.value=<value>,这很好用。

但是,我似乎找不到为list执行此操作的方法。在上面的示例中,我尝试设置"datacenters"["SJC", "IAD"]like: -Dpoller.datacenters="['SJC', 'IAD']",但我得到一个异常,即键值是一个字符串,而不是一个列表。

有没有办法向类型安全配置库发出这个值是一个列表的信号?

4

2 回答 2

64

1.0.1 版本为此实现了另一种语法:

-Dpoller.datacenters.0=SJC -Dpoller.datacenters.1=IAD
于 2013-06-04T16:28:05.037 回答
3

几周前我遇到了同样的问题,最后深入研究了源代码以了解发生了什么:

  • 此功能未实现,无法使用命令行参数定义列表

修复它不会那么难,但需要有人花时间去做。

于 2013-04-24T21:30:29.957 回答