Grails,thread,autowried服务

时间:2014-08-08 22:31:28

标签: multithreading grails redis executor

我已经在班上自动安装了redisService(@Transactional)。我有另一个实现runnable的workerThread类,它应该使用我以前类的Redis连接在DB中存储一些数据。如何在工作线程类中使用第一个类的相同redisService对象?

1 个答案:

答案 0 :(得分:0)

您可以在resources.groovy中将工作线程作为bean连接,并将ref传递给redisService。

workerThread(WorkerThread) {
  redisService = ref('redisService')
}

也就是说,如果您通过依赖注入来获取workerThread的句柄。如果你自己实例化它,你可以通过静态Holders类来处理Spring应用程序上下文来手动提取bean:

Holders.grailsApplication.mainContext.getBean("redisService")

后者是一个坏主意,但使这种情况变得可行。

祝你好运!