<dependency>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-scala</artifactId>
<version>0.7.6</version>
</dependency>
database.url=jdbc:mysql://localhost:3306/mydb
database.username=root
database.password=secret
scala
import com.netflix.config.ConfigurationManager
ConfigurationManager.loadPropertiesFromResources("config.properties")
scala
import com.netflix.config.ConfigurationManager
val databaseUrl = ConfigurationManager.getConfigInstance.getString("database.url")
val databaseUsername = ConfigurationManager.getConfigInstance.getString("database.username")
val databasePassword = ConfigurationManager.getConfigInstance.getString("database.password")
// ...
scala
import com.netflix.config.ChainedDynamicProperty
val databaseUrlProperty = new ChainedDynamicProperty[String]("database.url")
databaseUrlProperty.addCallback(() => {
val newUrl = databaseUrlProperty.get()
// ...
})