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

本文介绍了一个基于Spring和Quartz实现的任务调度示例。通过定义MainJob类并使用Spring配置进行任务调度,该示例展示了如何设置定时任务,包括初始化、执行频率等关键配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 >

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值