Pergunta

I have an application.conf file with a structure like the following:

poller {
  datacenters = []
}

I would like to override "datacenters" on the command line.

For other configuration keys whose values are simple types (strings, numbers) I can override using -Dpath.to.config.value=<value>, and this works fine.

However, I can't seem to find a way to do this for lists. In the example above, I tried to set "datacenters" to ["SJC", "IAD"] like so: -Dpoller.datacenters="['SJC', 'IAD']", but I get an exception that the key value is a string, not a list.

Is there a way to signal to the typesafe config library that this value is a list?

Foi útil?

Solução

An alternative syntax is implemented in version 1.0.1 for this:

-Dpoller.datacenters.0=SJC -Dpoller.datacenters.1=IAD

Outras dicas

I had the same issue some weeks ago, and finally dived into the source code to understand what's going on:

  • This feature is not implemented, it's not possible to define a list using command line argument

Fixing it wouldn't be that hard, but someone need to take time to do it.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top