configuration - example - ¿Cómo obtengo las golosinas en mi Grails Config.groovy en tiempo de ejecución?
grails with mysql (4)
Como se menciona en algunos de los comentarios, otra opción es la clase grails.utils.Holders
que se agregó en Grails 2.0. Prefiero este enfoque ya que puede usarlo en clases que no están configuradas con inyección de dependencia.
import grails.util.Holders
class Foo {
def bar() {
println(Holders.config.grails.serverURL)
}
}
en Config.groovy veo esto:
// set per-environment serverURL stem for creating absolute links
environments {
production {
grails.serverURL = "http://www.changeme.com"
}
}
¿Cuál es la forma correcta de acceder a eso en tiempo de ejecución?
En versiones más recientes de grails, ConfigurationHolder ha quedado en desuso.
En su lugar, debe usar el objeto grailsApplication.
grailsApplication.config.grails.serverURL
Si está en un Controlador o Servicio, entonces use la inyección de dependencia del objeto grailsApplication. p.ej
class MyController{
def grailsApplication
def myAction() {
grailsApplication.config.grails.serverURL
}
Consulte ¿Cómo acceder a la configuración de Grails en Grails 2.0?
aquí está:
import org.codehaus.groovy.grails.commons.ConfigurationHolder
println ConfigurationHolder.config.grails.serverURL
alternativamente, en controladores y etiquetas, aparentemente esto funcionará:
grailsApplication.config.grails.serverURL
Lo necesitaba en BootStrap, así que la opción 1 era lo que necesitaba.
danb está en el camino correcto. Sin embargo, la vida se vuelve un poco más fácil si haces una importación más agradable:
import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH
println CH.config.grails.serverURL