Grails 在服务初始化期间访问域数据

Grails access domain data during service initialization

我正在尝试实现一个搜索服务,我想在创建该服务时进行一些初始数据缓存。该服务实现了 spring 框架 InitializingBean 接口,但是当我尝试使用 afterPropertiesSet 方法从我的域中获取数据时,我收到一条错误消息,指出 GORM 尚未准备好使用。有什么方法可以让领域对象在 afterPropertiesSet 方法中使用?圣杯 2.5.0.

当域 类 初始化时,我不知道有事件或类似的通知,但它确实发生在 BootStrap 运行之前。对于像这样 afterPropertiesSet 做某事还为时过早的情况,您可以在 BootStrap 中依赖注入服务并调用您自己的 init 方法,例如

class BootStrap {

   def myService

   def init = {
      myService.init()
   }
}