withfallback hocon scala typesafe-config

scala - withfallback - hocon



Scala: escribir valor en objeto de configuraciĆ³n de tipos seguros (2)

No puede sobrescribir un valor en el objeto Config original ya que es inmutable. Lo que puede hacer es crear un nuevo objeto Config con sus valores, utilizando el original como respaldo. Asi que:

val myConfig = ConfigFactory.parseString("something.another.anotherconfig=456") val newConfig = myConfig.withFallback(oldConfig)

y luego use newConfig en todas partes en lugar de su configuración original. Una opción más mantenible sería tener un segundo archivo de configuración con sus cambios y usar:

val myConfig = ConfigFactory.load("local") val oldConfig = ConfigFactory.load val realConfig = myConfig.withFallback(oldConfig)

Luego, podría usar una propiedad del sistema para establecer desde dónde cargar myConfig .

Estoy usando la configuración de Typesafe y tengo un archivo de configuración en mi directorio de recursos que se ve así:

something { another { someconfig=abc anotherconfig=123 } }

¿Cómo cambiaría el valor de anotherconfig usando scala?


Si desea cambiar la configuración cargada (es decir, crear una nueva configuración basada en la anterior), puede usar withValue:

val newConfig = oldConfig.withValue("something.another.anotherconfig", ConfigValueFactory.fromAnyRef(456))