Play2! application.conf override based on environment
Load application.conf overrides based on runtime environment and merge in overridden props. e.g. application.dev.conf, application.prod.conf, application.test.conf
Global.scala
package com.company
import play.api.{Mode, Configuration, GlobalSettings}
import java.io.File
import com.typesafe.config.ConfigFactory
object Global extends GlobalSettings {
override def onLoadConfig(config: Configuration, path: File, classloader: ClassLoader, mode: Mode.Mode): Configuration = {
println(s"loading config path: $path")
val configOverridePath = s"application.${mode.toString.toLowerCase}.conf"
val modeSpecificConfig = config ++ Configuration(ConfigFactory.load(configOverridePath))
println(s"merged config: $configOverridePath")
super.onLoadConfig(modeSpecificConfig, path, classloader, mode)
}
}
application.conf
# Global object class
# ~~~~~
# Define the Global object class for this application.
# Default to Global in the root package.
application.global = com.company.Global
Written by Raúl Raja
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Scala
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#