1. Interfaces communes:
1. Interface de travail: il n'y a qu'une seule méthode pour cette interface
void Execute (JobExecutionContext Context)
Le développeur implémente cette interface pour définir les tâches qui doivent être effectuées. La classe JobExECUTCURT fournit diverses informations sur le contexte de planification.
2. Jobdetail: utilisé pour décrire les classes de mise en œuvre de l'emploi et certaines autres informations statiques
3. Trigger: Décrivez les règles de déclenchement du temps pour déclencher l'exécution du travail
4. Calendrier: définit un espace temporel qui peut (ou impossible) les déclencheurs en association avec le déclencheur. Il ne définit pas le temps réel du déclencheur, mais est utilisé lorsque le calendrier normal doit limiter le déclencheur de déclenchement. La plupart des calendriers contiennent tout le temps par défaut et l'utilisateur exclut un certain temps.
5. Planificateur: Exécutez le conteneur et utilisez SchedulerFactory pour créer une instance de planificateur
2. Exemple de code:
1. Lorsque vous utilisez Quartz, vous devez implémenter l'interface de travail;
Classe publique TestJob implémente Job {public void execute (JobExEcutionContext Context) lève JobExecutionException {System.out.println ("Hello World! -" + New Date ()); // faire plus ...}}2. Planification [C'est relativement simple, il suffit de regarder le code]
classe publique QuartzTest {public static void main (String args []) lève la planification de calendrier, parseException {jobdetail jobdetail = jobbuilder.newjob (testJob.class) .WithIdentity ("testJob_1", "groupe_1") .build (); Trigger Trigger = TriggerBuilder .newtrigger () .WithIdentity ("Trigger_1", "Group_1") .StartNow () .WithSchedule (SimplescheduleBuilder.Simpleschedule () .WithIntervaliNeconds (10) // Time Intervel .construire(); SchedulerFactory SF = new StdschedulerFactory (); Scheduler sched = sf.getscheduler (); sched.scheduleJob (jobdetail, déclencheur); sched.start (); }}Voici la version 2.2.1, reportez-vous aux exemples de la documentation officielle. J'ai vu que certains livres de référence sont utilisés dans les versions plus anciennes, il y a donc quelques différences. De nombreuses méthodes ont été obsolètes, il est donc plus réaliste de lire directement les documents. L'adresse officielle du site Web de Quartz est: http://www.quartz-scheduler.org/
Iii. Quartz2.2.1 Exemple de fichier de configuration
# Fichier de propriétés par défaut à utiliser par StdsCheDulerFactory # Pour créer une instance de planificateur de quartz, si un fichier de propriétés # différent n'est pas explicitement spécifié. # #Cluster configuration org.quartz.scheduler.instancer Falseorg.quartz.scheduler.rmi.proxy: Falseorg.quartz.scheduler.wrapjobexecutionInuserTransaction: false org.quartz.threadpool.class: org.quartz.threadCount: 10org.quartz.threadpool.ThreadPriority: 5org.quartz.Threadpool.ThreadsinheritConctClassLoDerofinitializingThread: true org.quartz.jobstore.MisfireThreShold: 60000 # =====================================================================================. Jobstore # =====================================================================================================================================================================================================================================================. Configuration, enregistrez les données dans la mémoire # org.quartz.jobstore.class: org.quartz.simpl.ramjobstore # Configuration permanente org.quartz.jobStore.class:org.quartz.impl.jdbcjobstore.JobStoreTXorg.quartz.jobStore.driverDelegateClass:org.quartz.impl.jdbcjobstore.StdJDBCDelegateorg.quartz.jobStore.useProperties:true#Database table prefix org.quartz.jobstore.tableprefix: qrtz_org.quartz.jobstore.datasource: qzds # ====================================================================. ====================================================================. Configure Datasources#====================================================================================================#JDBC driver org.quartz.datasource.qzds.driver: com.mysql.jdbc.driverorg.quartz.datasour ce.qzds.url: jdbc: mysql: // localhost: 3306 / quartzdborg.quartz.datasource.qzds.user: rotorg.quartz.datasource.qzds.maxconnection: 10
4. Base de données liée
La persistance nécessite la création de tables de données en quartz dans la base de données correspondante à l'avance. Dans le package de version Quartz, le DOCS / DBTABLE dispose de scripts SQL correspondant à différentes bases de données.
Par exemple, voici MySQL:
Tableau de données Explication du champ: