【发布时间】:2014-08-08 22:31:27
【问题描述】:
我在课堂上自动装配了一个 redisService (@Transactional)。我有另一个实现 runnable 的 workerThread 类,它应该使用我以前的类中的 Redis 连接将一些数据存储在 DB 中。如何在我的工作线程类中使用第一个类的相同 redisService 对象?
【问题讨论】:
标签: multithreading grails redis executor
我在课堂上自动装配了一个 redisService (@Transactional)。我有另一个实现 runnable 的 workerThread 类,它应该使用我以前的类中的 Redis 连接将一些数据存储在 DB 中。如何在我的工作线程类中使用第一个类的相同 redisService 对象?
【问题讨论】:
标签: multithreading grails redis executor
您可以在 resources.groovy 中将您的工作线程作为 bean 连接,并将其传递给 redisService。
workerThread(WorkerThread) {
redisService = ref('redisService')
}
也就是说,如果您通过依赖注入来处理您的 workerThread。如果您自己实例化它,您可以通过静态 Holders 类获取 Spring 应用程序上下文的句柄以手动提取 bean:
Holders.grailsApplication.mainContext.getBean("redisService")
后者是一个坏主意,但使这种情况可行。
祝你好运!
【讨论】: