Grails 3域类索引TTL by environment

时间:2016-03-18 14:43:36

标签: grails gorm grails-domain-class grails-2.4

我已经看过一些关于为什么在你的域类中注入逻辑很糟糕的帖子,而我实际上并没有想出如何注入'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]
}

1 个答案:

答案 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
}