gpt4 book ai didi

grails - 在Grails配置中,如何在其他环境中访问变量?

转载 作者:行者123 更新时间:2023-12-02 14:44:36 24 4
gpt4 key购买 nike

如果在一个环境中的grails中有一个列表环境变量,如何在级联上将其修改为其他环境?

例如,在我的 quartz 配置中,我添加了以下内容:

quartz {
// other variables remove for clarity

whiteListedJobs = [ Job1.class, Job2.class, Job3.class ]
}

quartz 并非特定于任何单个环境。但是在我特定于环境的配置中,我想覆盖此列表以包括针对特定环境的更多作业。

就像是,
environments {
development {
quartz {
whiteListedJobs = whiteListedJobs + Job4.class
}
}
}

但是不幸的是,这是行不通的。我的代码尝试以列表的形式读取quartz config变量,并抛出 Cannot cast object '{}' with class 'groovy.util.ConfigObject' to class 'java.util.List',这向我提示它不起作用。

正确的方法是什么?

最佳答案

问题在于,在解析过程中,groovy ConfigSlurper没有提供读取不同级别的配置条目的方法。但是,它被解析为Groovy脚本,因此您可以使用局部变量来避免完全重写条目:

def defaultJobs = [ Job1.class, Job2.class, Job3. class ]
quartz {
whiteListedJobs = defaultJobs
}

environments {
development {
quartz {
whiteListedJobs = defaultJobs + Job4.class
}
}
}

关于grails - 在Grails配置中,如何在其他环境中访问变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17067283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com