spring框架使用任务调度quartz的例子-Job and Trigger 篇

MainJob.java

 1 package  jobs;
 2
 3 import  org.apache.log4j.Logger;
 4 import  org.quartz.JobExecutionContext;
 5 import  org.quartz.JobExecutionException;
 6 import  org.springframework.scheduling.quartz.QuartzJobBean;
 7
 8 public   class  MainJob  extends  QuartzJobBean  {
 9    private  Logger logger = Logger.getLogger(getClass());
10    @Override
11    protected void executeInternal(JobExecutionContext context)
12            throws JobExecutionException {
13        // TODO Auto-generated method stub
14        logger.debug("Just say hi.");
15    }

16
17}

18

application.xml

<? xml version="1.0" encoding="UTF-8" ?>
< beans  xmlns =http://www.springframework.org/schema/beans
    xmlns:xsi
=http://www.w3.org/2001/XMLSchema-instance
    xmlns:jee
=http://www.springframework.org/schema/jee
    xsi:schemaLocation
="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"
>
    
<!--  任务调度对象  -->
    
< bean  id ="mainJob"
        class
="org.springframework.scheduling.quartz.JobDetailBean" >
        
<!--  运行的类  -->
        
< property  name ="jobClass" >
            
< value > jobs.MainJob </ value >
        
</ property >
        
<!--  需要用到的对象  -->
        
< property  name ="jobDataAsMap" >
            
< map >
                
< entry  key ="data" >
                    
< value > data </ value >
                
</ entry >
            
</ map >
        
</ property >
    
</ bean >

    
<!--  简单的触发器  -->
    
< bean  id ="mainTrigger"
        class
="org.springframework.scheduling.quartz.SimpleTriggerBean" >
        
< property  name ="jobDetail" >
            
<!--  上面创建的任务调度对象  -->
            
< ref  bean ="mainJob"   />
        
</ property >
        
<!--  启动60秒后执行任务调度的excute方法  -->
        
< property  name ="startDelay" >
            
< value > 6000 </ value >
        
</ property >
        
<!--  运行次数  -->
        
< property  name ="repeatCount" >
            
< value > 0 </ value >
        
</ property >
        
<!--  隔一个小时运行一次(貌似多余,不写会报错)  -->
        
< property  name ="repeatInterval" >
            
< value > 3600000 </ value >
        
</ property >
    
</ bean >
    
        
    
    
<!--  任务调度工厂类  -->
    
< bean
        
class ="org.springframework.scheduling.quartz.SchedulerFactoryBean" >
        
<!--  这一部分的配置不用管  -->
        
< property  name ="quartzProperties" >
            
< props >
                
< prop  key ="org.quartz.threadPool.class" >
                    org.quartz.simpl.SimpleThreadPool
                
</ prop >
                
< prop  key ="org.quartz.threadPool.threadCount" > 10 </ prop >
                
< prop  key ="org.quartz.threadPool.threadPriority" >
                    5
                
</ prop >
                
< prop
                    
key ="org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread" >
                    true
                
</ prop >

            
</ props >
        
</ property >
        
<!--  触发器,可以放一大堆触发器  -->
        
< property  name ="triggers" >
            
< list >
                
<!--  在这里加  -->
                 
< ref  bean ="mainTrigger" />
            
</ list >
        
</ property >

    
</ bean >
</ beans >

 

你可能感兴趣的:(spring,框架,bean,log4j,quartz)