【问题标题】:Grails, thread, autowried serviceGrails,线程,自动编写的服务
【发布时间】:2014-08-08 22:31:27
【问题描述】:

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

【问题讨论】:

    标签: multithreading grails redis executor


    【解决方案1】:

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

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

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

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

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

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      • 2010-09-28
      • 2010-12-29
      相关资源
      最近更新 更多