Grails 3 领域类索引 TTL 按环境

标签 grails grails-orm grails-domain-class grails-2.4

我看过一些关于为什么将逻辑注入(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/

相关文章:

json - JSON 的 Grails 2.4 命名配置不起作用

grails - 通过 grails 域类中的构造函数设置 groovy getter/setter 方法

Grails,自定义验证器,Hibernate 断言错误

线程 "Thread-8"BUG 中的 Grails/Gorm/异常!源单元中阶段 'semantic analysis' 中的异常

grails - Grails:记录域数据更改

hibernate - 执行 Grails 服务的 Gradle 任务

grails - 有Grails/Groovy方法从列表中提取子列表吗?

grails 将 gorm 子查询动态添加到现有查询中

hibernate - hibernate 过滤器不适用于父域

Grails:如何定义在 View 上呈现但不持久的域属性?