Grails:在服务中使用时,无法对null对象调用方法sendEmail()

Grails:在服务中使用时,无法对null对象调用方法sendEmail(),grails,grails-2.0,grails-plugin,grails-services,Grails,Grails 2.0,Grails Plugin,Grails Services,我已经创建了一个服务NotifierService 然后,我尝试在DbService服务中的另一个方法updateUser中调用sendmail方法 当我在引导中调用sendmail方法时,它可以正常工作,但当我在DbService中使用它时,会出现以下错误 我知道NotifierService中的mailService在DbService中使用时未初始化。我如何解决它 DbService在grails作业中实例化 class MyJob { DbService dbService =

我已经创建了一个服务NotifierService

然后,我尝试在DbService服务中的另一个方法updateUser中调用sendmail方法

当我在引导中调用sendmail方法时,它可以正常工作,但当我在DbService中使用它时,会出现以下错误

我知道NotifierService中的mailService在DbService中使用时未初始化。我如何解决它

DbService在grails作业中实例化

class MyJob {
    DbService dbService = new DbService()


    static triggers = {
        // start delay: 30000 (30sec), repeat: 120000 (2*60*1000 = 2min)
        simple name:'myJobTrigger', startDelay:30000, repeatInterval: 120000, repeatCount: -1
    }

    def execute() {
        println "*******************************************************"
        println "MyJob: "+new Date()
        println "*******************************************************"

        dbService.updateUser()
    }
}

好的,这很清楚:

如果你这样做

DbService dbService = new DbService()
那么依赖项将永远不会用spring填充

您必须使其保持未初始化状态,以便从应用程序上下文注入服务:

class MyJob {
  DbService dbService // or def dbService
}

好的,这很清楚:

如果你这样做

DbService dbService = new DbService()
那么依赖项将永远不会用spring填充

您必须使其保持未初始化状态,以便从应用程序上下文注入服务:

class MyJob {
  DbService dbService // or def dbService
}

DbService是如何实例化的?我正在使用quartz插件调用grails作业中的DbService方法。NotifierService和DbService grails服务都是吗?是的。我将更新这个问题,说明DbService是如何实例化的。DbService是如何实例化的?我正在使用quartz插件在grails作业中调用DbService方法。NotifierService和DbService都是grails服务吗?是的。我将更新如何实例化DbService的问题。现在我得到java.lang.NullPointerException:无法在null objectDbService DbService=Holders.grailsApplication.mainContext.getBean“DbService”上调用方法updateUser解决了问题。quartz作业中的依赖项也应自动解决。如果没有,,您在这里一定是做错了什么,或者没有遵循约定……现在我得到了java.lang.NullPointerException:无法在null objectDbService dbService=Holders.grailsApplication.mainContext.getBean“dbService”上调用方法updateUser解决了问题。quartz作业中的依赖关系也应该自动解决。如果他们不是,你一定是做错了什么,或者没有遵守惯例。。。
class MyJob {
  DbService dbService // or def dbService
}