【问题标题】:grails war tomcat with external config file带有外部配置文件的 grails war tomcat
【发布时间】:2015-02-10 17:24:20
【问题描述】:

我想添加外部配置数据。所以我在主 Config.groovy 文件中添加了以下行。

我导出了环境变量

DASH_CONFIG=<path_to_external_configfile>/extConfig.properties
  • extConfig.properties

    simpleBSMDash.default.serverName = "test.it.com"
    simpleBSMDash.default.refreshInterval = "5"
    
  • Config.groovy

    if(System.getenv('DASH_CONFIG')) {
        println( "Including configuration file: " + System.getenv('DASH_CONFIG'));
        grails.config.locations = [ 
            "classpath:exthConfig.properties",
            "file:./extConfig.properties",
            "file:${System.getenv('DASH_CONFIG')}"]
    } else {
        println "No external configuration file defined."
    }
    
  • Bootstrap.groovy

    我正在初始化 Boostrap.groovy 中的一些配置参数。例如

    import org.codehaus.groovy.grails.commons.ConfigurationHolder
    
    
    new AdminSettings(
        refreshInterval:"${ConfigurationHolder.config.simpleBSMDash.default.refreshInterval}", serverName:"${ConfigurationHolder.config.simpleBSMDash.default.serverName}").save(failOnError:true)
    

在本地运行应用程序时,通过:grails -Denv=DEV run-app。一切正常,实例 AdminSettings 已创建并使用预期值进行初始化。

当我在我的 tomcat 服务器上部署 war 文件时,实例 AdminSettings 没有被实例化。然而我确实导出了环境变量

DASH_CONFIG=<path_to_external_configfile>/extConfig.properties.

我将extConfig.properties 文件放在$TOMCAT_HOME/lib 文件夹中,但效果不佳。

我将它重命名为extConfig.groovy,它也没有帮助。

我搜索了stackflow,但没有找到正确的答案。

有人有想法吗?

【问题讨论】:

    标签: tomcat grails tomcat7 war


    【解决方案1】:

    这对我们有用:

    在 conf/Config.groovy 中:

    grails.config.locations = [ 
      "classpath:${appName}.properties", 
      "file:${userHome}/.grails/${appName}-config.properties"
      ]
    

    它在 Windows 中工作,尽管 Groovy/Windows 认为是家 (~) 的地方可能有点令人惊讶。您尝试从 Config.groovy 访问环境变量看起来有点冒险......

    【讨论】:

    • 或者试试这个:phatness.com/2010/03/…
    • 感谢@CharlesW 的回复,但我已经测试了您的选项,但没有成功...
    猜你喜欢
    • 2017-11-24
    • 2014-03-14
    • 2021-12-09
    • 2012-08-10
    • 1970-01-01
    • 2017-01-04
    • 2017-07-22
    • 2014-10-15
    • 2023-03-24
    相关资源
    最近更新 更多