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))