当前位置: 首页 > 知识库问答 >
问题:

Grails、ORM、Quartz、Jobs,

柳培
2023-03-14
class EnviaCorreosJob{
NotifierService notificar
Integer diasParaCorreo = 30

static triggers = 
{
    cron name: 'myTrigger', cronExpression: "*/5 * * * * ?"
}
def group = "MyGroup"
def description = "Example job with Cron Trigger"
def fechaHoy = new Date()

def execute()
{   
    println "------------------ Running every 5 seconds -------------------"

    def queryAgenda = Agenda.where 
    {
        inicio_cita <= (fechaHoy + diasParaCorreo)
    }
    def listaAgenda = queryAgenda.list()
    println "----------------------Dates list : " + listaAgenda

    log.info "listaAgenda: " + listaAgenda
    log.info "listaAgendaTamaño: " + listaAgenda.size()

    listaAgenda.each
    {
        agenda ->

        println "it's inside"

        mailService.sendMail
        {
            to "xxxxxx@gmail.com"
            subject "hello"
            body "hello"
        }
    }
}
}   

非常感谢你的帮助。:)

共有1个答案

秦德海
2023-03-14

看起来您试图在工作中使用mail插件,但您还没有将mail服务注入到工作中。

添加:

def mailService

它将被注入并可用。有关服务注入的更多信息,请访问https://grails.github.io/grails-doc/latest/guide/single.html#dependencyinjectionservices

 类似资料:
  • 我有一个grails应用程序,它使用quartz每20秒循环一次域类。 每次执行quartz作业时,都会与Mongo建立另一个连接。由于某种原因,前几次没有关闭,因此在11次连接后,作业停止工作(连接超时)。我尝试了另一种方法,通过在操作中调用服务方法来调用URL,但连接数仍在不断增加。当我在没有运行Quartz作业的情况下反复调用URL时,只会创建4个新连接,不再有。 你知道怎么做吗? Grai

  • 我有这份工作: 作业应该每小时运行一次。我以为问题是cronexpression。这就是为什么我把它改成上面的表达式。在我有这个表达之前: null

  • 我希望创建使用JdbcStore的quartz作业,如Burt的示例中文档的集群部分所述。 该示例演示如何使用quartz.Properties文件配置quartz。 现在,我希望我的jdbc存储与我的grails应用程序是同一个数据库,这样我就有更少的设置可以重复。 那么,假设我在数据库中手动创建了所需的表,那么是否可以使用dataSource.groovy中配置的默认数据源和quartz插件呢

  • 我在grails中使用服务,并从控制器中的服务获取和设置数据,没有问题。我知道如何使用它。。。但是这个问题我解决不了,如果你知道出了什么问题,请帮助我。 有一个QuartzWork,我从控制器的服务时间表...数据存储在PostgreSQL中。使用所有插件和2.3.3 Grails的最新版本。在下面的代码中,我只想打印昵称,但我无法获得服务。试图得到豆,def grailsApplication但

  • 我正在从事一个利用quartz插件的grails项目。插件按预期工作,在开发模式下本地运行项目时不会出现问题。然而,在tomcat的独立实例中运行该项目时,我遇到了以下错误。 以下是我在BuildConfig中的内容。棒极了 任何关于如何补救的想法或方向都将不胜感激。事先感谢您的帮助。

  • Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵 活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,EJB作业预构 建,JavaMail及其它,支持cron-like表达式等等。 该项目已经被 Terracotta收购。 示例代码: import org.quartz.S