1
如果我在一个环境中的grails中有一个列表环境变量,我该如何修改它在其他环境中的级联?在Grails配置中,如何访问其他环境中的变量?
举例来说,在我的石英配置添加以下,
quartz {
// other variables remove for clarity
whiteListedJobs = [ Job1.class, Job2.class, Job3.class ]
}
石英是不针对任何单一的环境。但在我的环境特定的配置中,我想重写此列表以包含更多的作业在某些环境中。
喜欢的东西,
environments {
development {
quartz {
whiteListedJobs = whiteListedJobs + Job4.class
}
}
}
但不幸的是,这并不工作。我的代码试图读取石英配置变量作为列表抛出Cannot cast object '{}' with class 'groovy.util.ConfigObject' to class 'java.util.List'
,这表明它不工作。
这样做的正确方法是什么?
谢谢,请问这defaultJobs变量正确清理? –
我不是那么正确,但是因为它是Config脚本的局部变量,所以它在解析后超出了范围,并且不包含在配置对象中。 (例如,'grailsApplication.config.defaultJobs'不会被填充) – codelark