spring 定时服务调度quartz(三)

上面讲到的服务bean的两种不同实现方式,触发方法就用了spring默认提供的org.springframework.scheduling.quartz.SimpleTriggerBean,在很多时候,这种粗糙的触发是满足不了系统的开发的需求。下面来介绍另一种更灵活的触发方式org.springframework.scheduling.quartz.CronTriggerBean。 配置cronExpression由7部分组成(中间用空格隔开):秒 分 时 日 月 周 年,每一部分都可以精确的指定,也可以是范围,也是可指定是那几个数字,如:1,3,4,5  1-3  4 * * ? *,这个表达式的含义为:每天4时的第1到3分钟内,每分钟内的1,3,4,5执行指定的定时服务。在这里可以看到,定时服务执行了4×3=12次。?表示互斥

把上一个解发器改成CornTriggerBean:

 

< bean  id ="logjob2"  class ="quartz2.LogJob1" ></ bean >
    
< bean  id ="miJobDetail"
        class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" >
        
< property  name ="targetObject" >
            
< ref  bean ="logjob2"   />
        
</ property >
        
< property  name ="targetMethod" >
            
< value > log </ value >
        
</ property >
    
</ bean >
    
< bean  id ="trigger2"
        class
="org.springframework.scheduling.quartz.SimpleTriggerBean" >
        
< property  name ="jobDetail" >
            
< ref  bean ="miJobDetail"   />
        
</ property >
        
< property  name ="startDelay" >
            
< value > 0 </ value >
        
</ property >
        
< property  name ="repeatInterval" >
            
< value > 3000 </ value >
        
</ property >
        
< property  name ="repeatCount" >
            
< value > 0 </ value >
        
</ property >
    
</ bean >
    
    
< bean  id ="corn1"  class ="org.springframework.scheduling.quartz.CronTriggerBean" >
    
< property  name ="jobDetail" >
    
< ref  bean ="miJobDetail" />
    
</ property >
    
< property  name ="cronExpression" >
    
< value > 0-30 * *  * * ? * </ value >
    
</ property >
    
</ bean >

    
< bean  id ="sfb2"
        class
="org.springframework.scheduling.quartz.SchedulerFactoryBean" >
        
< property  name ="triggers" >
            
< list >
                
< ref  bean ="trigger2"   />
                
< ref  bean ="corn1" />
            
</ list >
        
</ property >
    
</ bean >

spring配置文件装载时,就会执行2个触发器,一个是SimpleTriggerBean,另一个就是CornTriggerBean。在这个corntrigger中指定的含义为每分钟的前30秒执行这个定时服务

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值