Quarz 1.6 Scheduler-Tutorial

Quartz ist ein leistungsfähiges und fortschrittliches Scheduler-Framework, mit dem Java-Entwickler einen Job planen können, der zu einem bestimmten Zeitpunkt zu einem bestimmten Zeitpunkt ausgeführt werden soll.

Dieses Tutorial zeigt Ihnen, wie Sie mit Quartz 1.6.3 einen Scheduler-Job entwickeln.

1. Laden Sie Quarz herunter

Sie können die Quartz-Bibliothek unter official website oder im zentralen Repository von Maven herunterladen

Datei: pom.xml

    <dependencies>

        <!-- Quartz API -->
        <dependency>
            <groupId>opensymphony</groupId>
            <artifactId>quartz</artifactId>
            <version>1.6.3</version>
        </dependency>

        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.directory.studio</groupId>
            <artifactId>org.apache.commons.logging</artifactId>
            <version>1.1.1</version>
        </dependency>

    </dependencies>

2. Quarz Job

Quarz-Job ist definiert, was Sie ausführen möchten?

Datei: HelloJob

package com.mkyong.common;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class HelloJob implements Job
{
    public void execute(JobExecutionContext context)
    throws JobExecutionException {

        System.out.println("Hello Quartz!");

    }

}
  1. Quarzauslöser

Quarz-Auslöser ist definiert, wenn der Quarz Ihren Job oberhalb von Quarz ausführen wird.

Es gibt zwei Arten von Quarzauslösern:

  • SimpleTrigger - Ermöglicht die Einstellung von Startzeit, Endzeit und Wiederholungsintervall.

  • CronTrigger - Erlaubt es dem Unix-Cron-Ausdruck, die Daten und anzugeben

mal um deinen Job auszuführen.

Unix-Cron-Ausdruck Der Unix-Cron-Ausdruck ist äußerst flexibel und leistungsstark. Sie können in den folgenden Websites viele Beispiele für Cron-Ausdrucke lernen und sehen.

SimpleTrigger - Alle 30 Sekunden ausführen.

        SimpleTrigger trigger = new SimpleTrigger();
        trigger.setName("dummyTriggerName");
        trigger.setStartTime(new Date(System.currentTimeMillis() + 1000));
        trigger.setRepeatCount(SimpleTrigger.REPEAT__INDEFINITELY);
        trigger.setRepeatInterval(30000);

CronTrigger - Läuft alle 30 Sekunden.

        CronTrigger trigger = new CronTrigger();
        trigger.setName("dummyTriggerName");
        trigger.setCronExpression("0/30 **  **  **  **  ?");

4. Scheduler

Die Scheduler-Klasse verknüpft " Job " und " Trigger " miteinander und führt sie aus.

        Scheduler scheduler = new StdSchedulerFactory().getScheduler();
        scheduler.start();
        scheduler.scheduleJob(job, trigger);

5. Vollständiges Beispiel

Hier sind zwei vollständige Beispiele für die Verwendung von Quartz über SimpleTrigger und CronTrigger.

  • Beispiel für SimpleTrigger ** Führen Sie zum ersten Mal sehr 30 Sekunden mit einer Verzögerung von 1 Sekunde aus.

package com.mkyong.common;

import java.util.Date;

import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;

public class SimpleTriggerExample
{
    public static void main( String[]args ) throws Exception
    {
        JobDetail job = new JobDetail();
        job.setName("dummyJobName");
        job.setJobClass(HelloJob.class);

       //configure the scheduler time
        SimpleTrigger trigger = new SimpleTrigger();
        trigger.setStartTime(new Date(System.currentTimeMillis() + 1000));
        trigger.setRepeatCount(SimpleTrigger.REPEAT__INDEFINITELY);
        trigger.setRepeatInterval(30000);

       //schedule it
        Scheduler scheduler = new StdSchedulerFactory().getScheduler();
        scheduler.start();
        scheduler.scheduleJob(job, trigger);

    }
}
  • CronTrigger-Beispiel ** Führen Sie den Job alle 30 Sekunden aus.

package com.mkyong.common;

import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.impl.StdSchedulerFactory;

public class CronTriggerExample
{
    public static void main( String[]args ) throws Exception
    {

        JobDetail job = new JobDetail();
        job.setName("dummyJobName");
        job.setJobClass(HelloJob.class);

        CronTrigger trigger = new CronTrigger();
        trigger.setName("dummyTriggerName");
        trigger.setCronExpression("0/30 **  **  **  **  ?");

       //schedule it
        Scheduler scheduler = new StdSchedulerFactory().getScheduler();
        scheduler.start();
        scheduler.scheduleJob(job, trigger);

    }
}

Quellcode herunterladen

Laden Sie es herunter - QuartzExample.zip (14kb)

Referenzen

java quarz Link://Tag/Scheduler/[Scheduler]