Grails调用服务错误

Grails调用服务错误,grails,service,Grails,Service,我把我的服务放在适当的文件夹中(我有一个电子邮件插件,它在控制器中运行良好,我对它进行了测试) 我称之为石英插件作业: class SendAlertJob { def timeout = 5000l // execute job once in 5 seconds def execute() { def SendMailService SendMailService.serviceMethod() } } 得到这个错误: 201

我把我的服务放在适当的文件夹中(我有一个电子邮件插件,它在控制器中运行良好,我对它进行了测试)

我称之为石英插件作业:

class SendAlertJob {
    def timeout = 5000l // execute job once in 5 seconds

    def execute() {

        def SendMailService

        SendMailService.serviceMethod()

    }
}
得到这个错误:

2011-12-12 20:37:59,781 [quartzScheduler_Worker-3] ERROR listeners.ExceptionPrinterJobListener  - Exception occured in job: GRAILS_JOBS.tv_megazineplus.SendAlertJob
org.quartz.JobExecutionException: Cannot invoke method serviceMethod() on null object [See nested exception: java.lang.NullPointerException: Cannot invoke method serviceMethod() on null object]
    at org.codehaus.groovy.grails.plugins.quartz.GrailsJobFactory$GrailsTaskClassJob.execute(GrailsJobFactory.java:81)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: java.lang.NullPointerException: Cannot invoke method serviceMethod() on null object
    at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:77)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
    at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:32)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
    at tv_megazineplus.SendAlertJob.execute(SendAlertJob.groovy:11)
    at sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:186)
    at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:171)
    at org.codehaus.groovy.grails.plugins.quartz.GrailsJobFactory$GrailsTaskClassJob.execute(GrailsJobFactory.java:77)
    ... 2 more

SendMailService应该在类级别声明,以便自动连接/注入

class SendAlertJob {
    def timeout = 5000l // execute job once in 5 seconds

    def SendMailService

    def execute() {
        SendMailService.serviceMethod()

    }
}

天哪,真不敢相信如果修复了。试试看。
class SendAlertJob {
    def timeout = 5000l // execute job once in 5 seconds

    def SendMailService

    def execute() {
        SendMailService.serviceMethod()

    }
}