Grails石英手动触发不起作用

时间:2014-01-27 02:36:31

标签: grails grails-2.0 grails-plugin

我正在尝试从集成测试类手动触发作业,但作业没有被触发

这是我的代码:

QUARTZ JOB:

package com.example.home

class OrderConfirmationEmailJob {
    static triggers = {}
    def execute(context) {
        println  "example" + new Date()
    }
}

集成测试:

package com.example.home

class OrderConfirmationEmailServiceIntegrationTests {   
    OrderConfirmationEmailService orderConfirmationEmailService

    @Test
    void testSomething() {
        OrderConfirmationEmailJob.triggerNow(['key': 'Value'])
    }
}

这项工作没有被触发。我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

如果您使用的是grails-quartz-plugin 1.0.1,则无法使用“triggerNow()”方法,因为未实现。如果你正在使用quartz2调度程序插件,并且你想创建自己的工作类,因为它是用documentation编写的,

  

插件将设置grailsAppication和appCtx   (applicationContext)将“global”属性放入schedule中   上下文。默认情况下,Quartz使用PropertySettingJobFactory   它将尝试通过存在的keyName注入属性   在计划; s上下文,作业上下文或触发上下文中   创造它时的工作。这意味着如果你设置自己的工作和   需要appCtx或grailsApplication只声明一个字段和它   将被设定。

希望这个帮助