(Quick Reference)

custom

Purpose

Declares a trigger backed by your own implementation of the Quartz Trigger interface. This is how any Quartz trigger type not modelled by simple or cron is used.

Examples

class MyJob {

    static triggers = {
        custom(
            name: 'customTrigger',
            triggerClass: MyTriggerClass,
            myParam: myValue,
            myAnotherParam: myAnotherValue
        )
    }

    void execute() {
        println 'Job run!'
    }
}

Description

Accepted attributes:

  • triggerClassrequired. A class implementing org.quartz.Trigger. Omitting it, or supplying a class that does not implement Trigger, fails at startup.

  • name — uniquely identifies the trigger; must be unique across the whole application. Defaults to the job name followed by a counter.

  • group — the trigger group. Defaults to GRAILS_TRIGGERS.

  • startDelay — delay in milliseconds between scheduler startup and the first execution. Defaults to 0.

Any further attributes are set as properties on the trigger instance, so the trigger can be configured with whatever its class exposes.

Refer to the user guide topic on Triggers for more information.