我看过一些关于为什么将逻辑注入(inject)域类是不好的帖子,但我实际上还没有弄清楚如何注入(inject)“grailsApplication”。
我希望通过 Grails Environment 设置域类索引 TTL 值。我不希望文档在我的集成环境中 24 小时后仍存在于 Mongo 中。
使用 Grails 2.4.3 和 Gorm 3.1.4。
有没有人对此有更好的模式?
此代码不起作用,但如果 grailsApplication 可以注入(inject),这就是概念
static mapping = {
version false
createdOn index:true, indexAttributes:[expireAfterSeconds:grailsApplication.config.DEFAULT_AGEOFF_IN_SECONDS]
}
最佳答案
我最终得到以下结果..如果出现更好的答案,我会选择更好的答案。
import grails.util.Environment
...
if(Environment.current.name == 'integration'){
createdOn index:true, indexAttributes:[expireAfterSeconds:86400]//24 hours
} else {
createdOn index:true, indexAttributes:[expireAfterSeconds:2592000]//30 days
}
关于Grails 3 领域类索引 TTL 按环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36087284/