gpt4 book ai didi

grails - 无法从 Grails 中的 Quartz Job 访问任何 bean

转载 作者:行者123 更新时间:2023-12-02 13:56:33 25 4
gpt4 key购买 nike

我在 grails 中使用服务并从 Controller 中的服务获取和设置数据,没有问题。我知道如何使用它...但是这个问题我无法解决,如果您知道出了什么问题,请帮助我。

有一个 QuartzJob,我从 Controller 的服务中安排...数据存储在 PostgreSQL 中。使用所有插件的最新版本和 2.3.3 Grails。在下面的代码中,我只想打印昵称,但我无法获得服务。试图获取 bean,def grailsApplication 但没有成功。

Quartz 的 Grails 插件是quartz:1.0-RC11

class TestJob implements Job{
def userService

void execute(org.quartz.JobExecutionContext t) {
try {
println userService.getUserProfile("farko").username
} catch (Exception ex){
println ex.printStackTrace()
}
}
}

我收到此错误

Error | java.lang.NullPointerException: Cannot invoke method getUserProfile() on null object Error | at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:77) Error | at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45) Error | at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) Error | at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:32) Error | at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) Error | at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) Error | at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) Error | at test.TestJob$$EOTRiFAo.execute(TestJob.groovy:27) Error | at test.TestJob$$DOTRiFAo.execute(Unknown Source) Error | at test.TestJob.execute(TestJob.groovy) Error | at org.quartz.core.JobRunShell.run(JobRunShell.java:207) Error | at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:560) null

最佳答案

你实现 Job ,但是在使用插件时这种情况很少见。通常你只需在 grails-app/jobs 中创建一个类(手动或使用 create-job 脚本)名称以“Job”结尾,然后奇迹发生了。您是在 src/groovy 中创建类吗? ?您需要使用插件的约定来使依赖注入(inject)工作。

关于grails - 无法从 Grails 中的 Quartz Job 访问任何 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21225217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com