我想在我的grails应用程序中加载特定于环境的配置,以便根据grails应用程序运行在哪个JVM上,可以指向该特定于环境的URL。就我而言,当我的应用程序从开发人员迁移到产品时,我可以使用4种不同的环境(而不是grails应用程序采用的默认环境3)。
我的JVM都有一个定义的System属性,当我执行“ System.getProperty()”时,告诉我该应用程序正在哪个环境上运行。
我的问题是,在运行时检查和加载特定于环境的配置的最佳位置是什么?在BootStrap.groovy内部?我没有选择使用命令行或grails {env_name} war构建我的war文件。
谢谢。
将变量grailsEnv设置为Tomcat的环境Java变量,下面是一个示例:
set CATALINA_OPTS=%CATALINA_OPTS% -Xms256m -Xmx1024m -Dgrails.env=development
在grails命令行上,添加环境变量:
grails run-app -Dgrails.env=stage
您可以这样检查环境变量:
if (grails.util.Environment.current.name == "development") {
UsageCodeDefinition ucd = new UsageCodeDefinition()
ucd.setDescription("UFARSFileUpload Upload Development")
ucd.setFiscalYear("12-13")
ucd.setInstructions("Welcome to UFARSFileUpload Development were Open")
ucd.save(failOnError: true)
}
您可以使用枚举值而不是名称变量,但是如果您使用自定义环境值,则它们将映射到枚举自定义值,并且使用名称可以区分自定义值。
if (grails.util.Environment.current == grails.util.Environment.DEVELOPMENT) {
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句