spring实现定时任务之Quartz 3

实现quartz 的job接口

SimpleJob3.java

public   class  SimpleJob3  implements  Job
{

    
public   void  execute(JobExecutionContext context)  throws  JobExecutionException
    {
        System.out.println(
" SimpleJob3 implements Job  " );
    }
}

 1.编程调用

   具体见另一篇文章:编程调用job

2.web调用

 方式1:配置servlet
  方式2:配置listener
 
Quartz为能够在web应用中使用,提供了一个QuartzInitializerServlet和一个QuartzInitializerListener,用于在加载web应用时,对quartz进行初始化。

quartz 有一个插件,自动加载自己的默认的配置文件quartz.properties。

下面用方式1来实现:

(1).声明job配置文件,定义job及触发器
quartz_jobs.xml文件:

 

xml version="1.0" encoding="gb2312" ?>
< quartz  xmlns ="http://www.quartzscheduler.org/ns/quartz"  xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation ="http://www.quartzscheduler.org/ns/quartz http://www.quartzscheduler.org/ns/quartz/job_scheduling_data_1_1.xsd"  version ="1.1" >
    
< job >
        
< job-detail >
            
< name > dd name >
            
< group > DEFAULT group >
            
< job-class > com.commonjob.SimpleJob3 job-class >
        
job-detail >
        
        
< trigger >
            
< cron >
                
< name > dds name >
                
< group > DEFAULT group >
                
< job-name > dd job-name >
                
< job-group > DEFAULT job-group >
                
< cron-expression > 0/3 * * * * ? cron-expression >
            
cron >
        
trigger >
    
job >
quartz >

 

上面配置了一个作业,并声明一个参数Name;配置了一个CronTrigger,每三秒执行一次。如果要配置SimpleTrigger ,可以使用标签。

重新自定义一个自己的quratz.properties

#============================================================================
# Configure Main Scheduler Properties 
#============================================================================
org.quartz.scheduler.instanceName = org.quartz.scheduler.instanceId = AUTO
#============================================================================
# Configure ThreadPool 
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 3
org.quartz.threadPool.threadPriority = 5
#============================================================================
# Configure Plugins
#============================================================================
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = etc/quartz_jobs.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 10

 

org.quartz.plugin.jobInitializer.fileName 指向自己的job配置文件.

 

在web.xml中:
servlet配置:
 
  QuartzInitializer
  
   org.quartz.ee.servlet.QuartzInitializerServlet
  

  
   shutdown-on-unload
   true
  

  
   config-file
   etc/quartz.properties
  

  2
 


在 classpath 中加入相关依赖的jar包,启动tomcat,启动完毕之后 任务会立即执行。

你可能感兴趣的:(spring,quartz,spring,任务,servlet,properties,cron)