zoukankan      html  css  js  c++  java
  • quartz在application中的使用

    项目结构图:

    TestMain.java

     1 package com;
     2 import org.quartz.Scheduler;
     3 import org.quartz.impl.StdSchedulerFactory;
     4 
     5 public class TestMain {
     6 
     7     public static void main(String[] args) {
     8 
     9         try {
    10             // 设置quartz.properties的classpath
    11             System.setProperty("org.quartz.properties", "quartz/quartz.properties");
    12             Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
    13             scheduler.start();
    14         } catch (Exception ex) {
    15             ex.printStackTrace();
    16         }
    17     }
    18 }

    MyQuartzJob.java

     1 package task;
     2 
     3 import org.quartz.Job;
     4 import org.quartz.JobExecutionContext;
     5 import org.quartz.JobExecutionException;
     6 
     7 public class MyQuartzJob implements Job {
     8     private static int num = 0;
     9     @Override
    10     public void execute(JobExecutionContext arg0) throws JobExecutionException {
    11         System.out.println("Hello World! " + num++);
    12     }
    13 }

    quartz_jobs.xml

     1 <?xml version='1.0' encoding='utf-8'?>
     2 <quartz xmlns="http://www.opensymphony.com/quartz/JobSchedulingData"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xsi:schemaLocation="http://www.opensymphony.com/quartz/JobSchedulingData  
     5   http://www.opensymphony.com/quartz/xml/job_scheduling_data_1_5.xsd"
     6     version="2.0.2">
     7 
     8     <!-- 每3秒执行一次 -->
     9     <job>
    10         <job-detail>
    11             <name>MyQuartzJob</name>
    12             <description></description>
    13             <group>Server</group>
    14             <job-class>task.MyQuartzJob</job-class>
    15             <job-data-map allows-transient-data="true" />
    16         </job-detail>
    17         <trigger>
    18             <cron>
    19                 <name>MyQuartzJobbTriger</name>
    20                 <group>Server</group>
    21                 <job-name>MyQuartzJob</job-name>
    22                 <job-group>Server</job-group>
    23                 <cron-expression>0/3 * * * * ?</cron-expression>
    24             </cron>
    25         </trigger>
    26     </job>
    27     
    28 </quartz>  

    quartz.properties

    #============================================================================  
    # Configure Main Scheduler Properties    
    #============================================================================  
    org.quartz.scheduler.instanceName = TestScheduler  
    org.quartz.scheduler.instanceId = AUTO  
    #============================================================================  
    # Configure ThreadPool    
    #============================================================================  
    org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool  
    #处理的线程个数  
    org.quartz.threadPool.threadCount = 10
    #线程优先级别,一般为5  
    org.quartz.threadPool.threadPriority = 5  
    org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread: true
    #============================================================================  
    # Configure JobStore    
    #============================================================================  
    org.quartz.jobStore.misfireThreshold = 60000  
    org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore  
    #============================================================================  
    # Configure Plugins   
    #============================================================================  
    org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin  
    org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin  
    # fs notice : the classpath of quartz_jobs.xml
    org.quartz.plugin.jobInitializer.fileNames = quartz/quartz_jobs.xml
    #如果jobs.xml中存在调度器中已经有的job,true为覆盖  
    org.quartz.plugin.jobInitializer.overWriteExistingJobs = true  
    org.quartz.plugin.jobInitializer.failOnFileNotFound = true  
    #扫描jobs.xml的时间间隔  
    org.quartz.plugin.jobInitializer.scanInterval = 60000  
    org.quartz.plugin.jobInitializer.wrapInUserTransaction = false  

      

  • 相关阅读:
    YAML序列样式
    YAML块标量头
    YAML字符流
    YAML语法字符
    YAML流程
    YAML集合和结构
    YAML缩进和分离
    YAML简介
    Git工作流程
    Git使用前配置
  • 原文地址:https://www.cnblogs.com/TheoryDance/p/4923801.html
Copyright © 2011-2022 走看看