我已经看过一些关于为什么在你的域类中注入逻辑很糟糕的帖子,而我实际上并没有想出如何注入'grailsApplication'。
我希望通过Grails Environment设置域类索引TTL值。我不希望在我的集成环境中过去24小时内生活在Mongo中的文档。
使用Grails 2.4.3和Gorm 3.1.4。
有人有更好的模式吗?
此代码不起作用,但如果可以注入grailsApplication,则这是概念
static mapping = {
version false
createdOn index:true, indexAttributes:[expireAfterSeconds:grailsApplication.config.DEFAULT_AGEOFF_IN_SECONDS]
}
答案 0 :(得分:0)
我最终得到了以下内容..如果有更好的答案,我会选择更好的答案。
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
}