3.4 Externalizando la configuración - Reference Documentation
Authors: Graeme Rocher, Peter Ledbrook, Marc Palmer, Jeff Brown, Luke Daley, Burt Beckwith
Version: null
3.4 Externalizando la configuración
Some deployments require that configuration be sourced from more than one place and be changeable without requiring a rebuild of the application. In order to support deployment scenarios such as these the configuration can be externalized. To do so, point Grails at the locations of the configuration files that should be used by adding a
Algunas implementaciones requieren que la configuración proceda de más de una ubicación y sea intercambiables sin necesidad de un redespliegue de la aplicación. Para admitir estos escenarios de despliegue la configuración puede ser externalizada. Para ello, señale a Grails las ubicaciones de los archivos de configuración que deben utilizarse mediante la adición de un valor de grails.config.locations setting in Config.groovy, for example:grails.config.locations en Config.groovy, por ejemplo:Grails.config.Locations = [
"classpath:$ {appName}-config.properties",
"classpath:$ {appName}-config.groovy",
"file:${userHome}/.grails/${appName}-config.properties",
"file:${userHome}/.grails/${appName}-config.groovy"]In the above example we're loading configuration files (both Java Properties files and ConfigSlurper configurations) from different places on the classpath and files located in This can be useful in situations where the config is either coming from a plugin or some other part of your application. A typical use for this is re-using configuration provided by plugins across multiple applications.
En el ejemplo anterior estamos cargando archivos de configuración (archivos de propiedades Java y configuraciones de ConfigSlurper de diferentes lugares del classpath y archivos ubicados en USER_HOME.It is also possible to load config by specifying a class that is a config script.grails.config.locations = [com.my.app.MyConfig]
USER_HOME.También es posible cargar configuración especificando una clase que es un script de configuración.Grails.config.Locations = [com.my.app.MyConfig]
Ultimately all configuration files get merged into the
En última instancia todos los archivos de configuración se fusionaron en la propiedad config property of the GrailsApplication object and are hence obtainable from there.Values that have the same name as previously defined values will overwrite the existing values, and the pointed to configuration sources are loaded in the order in which they are defined.Config Defaults
The configuration values contained in the locations described by thegrails.config.locations property will override any values defined in your application Config.groovy file which may not be what you want. You may want to have a set of default values be be loaded that can be overridden in either your application's Config.groovy file or in a named config location. For this you can use the grails.config.defaults.locations property.This property supports the same values as the grails.config.locations property (i.e. paths to config scripts, property files or classes), but the config described by grails.config.defaults.locations will be loaded before all other values and can therefore be overridden. Some plugins use this mechanism to supply one or more sets of default configuration that you can choose to include in your application config.config del objeto GrailsApplication y, por tanto, puede obtenerse a partir de ahí.Los valores que tienen el mismo nombre que otros valores definidos anteriormente sobrescribirán los valores existentes y las referencias de configuración se cargan en el orden en el que se definen.Valores de configuración predeterminados
Los valores de configuración contenidos en los lugares descritos por la propiedadgrails.config.locations sobreescribirán los valores definidos en el archivo Config.groovy de la aplicación que puede no ser lo que quiere. Puede que desee tener un conjunto de valores por defecto cargados que pueden ser sobreescritos en el archivo Config.groovy de la aplicación o en cualquier localización definida. Para ello puede utilizar la propiedad grails.config.defaults.locations.Esta propiedad soporta los mismos valores que la propiedad grails.config.locations (es decir, rutas para scripts de configuración, los archivos de propiedad o clases), pero la configuración descrita por grails.config.defaults.locations será cargada antes que todos los demás valores y por lo tanto, se puede reemplazar. Algunos plugins usan este mecanismo para proporcionar uno o más conjuntos de configuración por defecto que puede incluir en la configuración de su aplicación.Grails also supports the concept of property place holders and property override configurers as defined in Spring For more information on these see the section on Grails and Spring
Grails también soporta el concepto de titulares de la propiedad y configuradores de reemplazo de propiedad tal como se define en Spring Para obtener más información sobre estos, consulte la sección Grails y Spring

