我已经在班上自动安装了redisService(@Transactional)。我有另一个实现runnable的workerThread类,它应该使用我以前类的Redis连接在DB中存储一些数据。如何在工作线程类中使用第一个类的相同redisService对象?
答案 0 :(得分:0)
您可以在resources.groovy中将工作线程作为bean连接,并将ref传递给redisService。
workerThread(WorkerThread) {
redisService = ref('redisService')
}
也就是说,如果您通过依赖注入来获取workerThread的句柄。如果你自己实例化它,你可以通过静态Holders类来处理Spring应用程序上下文来手动提取bean:
Holders.grailsApplication.mainContext.getBean("redisService")
后者是一个坏主意,但使这种情况变得可行。
祝你好运!