2016-04-05 8 views
1

Ich bin ein wenig verwirrt über Externalisierung Konfigurationseinstellungen in Grails 2.3.5 bei der Bereitstellung des Krieges auf Tomcat. Bedenken ich folgendes in meinen Anwendungen config.groovyWerden Konfigurationseinstellungen beim Hinzufügen einer externen Konfigurationsdatei ersetzt?

// some grails plugin settings 
// some grails spring security settings 
def catalinaBase = System.properties.getProperty('catalina.base') 
if (!catalinaBase) catalinaBase = '.' // just in case 
def logDirectory = "${catalinaBase}/logs" 


environments { 
    development { 
     //some logging settings 
     grails { 
      plugin { 
       aws { 
        credentials { 
         accessKey = "local" 
         secretKey = "local" 
        } 
        s3 { 
         bucket = "local" 
        } 
       } 
      } 
     } 
    } 
    production { 
    def tomcatConfDir = new File("${System.properties['catalina.home']}/conf") 
    grails.config.locations << "file:${tomcatConfDir.canonicalPath}/${appName}-config.groovy" 
    } 
} 

und Wenn ich erstellen Sie die folgende Datei auf dem Server ausgeführt tomcat: /tomcat/conf/myapp-config.groovy

myapp-config.groovy

def env = System.getenv() 
log4j = { root-> 
    // some log settings 
} 
    grails { 
     plugin { 
      aws { 
       credentials { 
        accessKey = "production" 
        secretKey = "production" 
       } 
       s3 { 
        bucket = "production" 
       } 
      } 
     } 
    } 

Frage

in /tomcat/conf/myapp-config.groovy muss ich die some grails plugin settings a eingeben nd some grails spring security plugins usw. wieder? Meine Frage ist, dass, wenn ich eine externe Datei anlege, auch die Werte aus meinen Anwendungen config.groovy übernommen werden? Können wir auch groovigen Code in der externen Datei verwenden? Hinweis Ich habe def env = System.getenv()

Antwort

1

verwendet, um Ihre Frage zu beantworten, ist es zusammengeführt. Du musst dich nicht wiederholen. Grails lädt im Wesentlichen Ihre Config.groovy und ersetzt dann alle Werte, die darin enthalten sind, mit den Werten, die in Ihren externen Konfigurationsdateien gefunden werden. Es fügt auch alle Werte, die nur in Ihrer externen Konfiguration vorhanden sind, der "fusionierten" Konfiguration hinzu.

Wie in Config.groovy ist groovy code auch in externen Konfigurationsdateien erlaubt.

Verwandte Themen