【问题标题】:Persisting domain class instance from a Quartz job从 Quartz 作业中持久化域类实例
【发布时间】:2013-08-07 22:17:30
【问题描述】:

我是 Quartz 调度的新手,我已经掌握了基础知识。但是我在使用 Quartz 持久化数据模型类实例时遇到了麻烦。这是我的问题的简化版本:

class PlannedRequestsJob {

static triggers = {
    cron name: 'cronTrigger', startDelay:1000, cronExpression: '0/6 * * * * ?'  
}


def execute(){

    def contactInstance = new Contact()
    contactInstance.realname = 'John Doe'
    contactInstance.save()
    print "Quartz job"
}

}

此示例每 6 秒打印一次文本 Quartz 作业,但它不会创建新的域实例。我怎样才能做到这一点?

【问题讨论】:

    标签: grails quartz-scheduler


    【解决方案1】:

    如果您显示您的 Contact 类的代码,将会有很大帮助,但即使没有这些信息,我也敢与您打赌,您的某个验证约束失败了。

    要检查谁赢得了赌注,请将您的代码更改为:

    def execute(){
    
        def contactInstance = new Contact()
        contactInstance.realname = 'John Doe'
        if (!contactInstance.save()) {
          println "Save failed due to errors: $contactInstance.errors"
        }
    
        print "Quartz job"
    }
    

    如果我是对的,您应该会在控制台中看到一条消息,说明哪个约束失败。您可以将我的奖金直接存入我的银行账户 - 我会 PM 给您详细信息。

    【讨论】:

    • 那么你的银行账户是什么? :) 我考虑过验证约束失败,但我很愚蠢,没有以编程方式进行,所以我忽略了一些东西。谢谢。
    • @drago 不客气 - 你可以把我的奖金寄给你最喜欢的慈善机构 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 2014-04-13
    相关资源
    最近更新 更多