spring+quartz的定时器功能

spring+quartz的定时器功能
第一种通过spring中的CronTrigger复杂触发器实现

<!--要调度的对象-->

    
<bean id="job" class="com.ApManager.util.TJob">
         
<property name="scheduler" ref="schedulerFactory"/>
         
<property name="scheduleInfoManager" ref="scheduleInfoManager"/>        
    
</bean>
<!-- 定义目标bean和bean中的方法 -->
    
<bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        
<property name="targetObject">
            
<ref local="job"/>
        
</property>
        
<property name="targetMethod">
            
<value>doAuth</value>
        
</property>
        
        
<property name="concurrent" value="false"/><!-- 对于相同的JobDetail,当指定多个Trigger时, 很可能第一个job完成之前,第二个job就开始了。指定concurrent设为false,多个job不会并发运行,第二个job将不会在第一个job完成之前开始 -->
    
</bean>
<!-- 定义触发的时间 -->
    
<bean id = "cron" class = "org.springframework.scheduling.quartz.CronTriggerBean">
        
<property name="jobDetail">
            
<ref bean="jobtask"/>
        
</property>
        
<property name="cronExpression">
            
<value>0 * 11 * * ?</value>
        
</property>
    
</bean>
<!-- 总管理 -->
    
<bean autowire = "no" class = "org.springframework.scheduling.quartz.SchedulerFactoryBean">
        
<property name="triggers"><!-- triggers:通过再添加其他的ref元素可在list中放置多个触发器 -->
            
<list>
                
<ref local ="cron"/>
            
</list>
        
</property>
    
</bean>

第二通过spring中的SimpleTrigger简单触发器实现

<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">   
 
<property name="jobDetail">   
  
<ref bean="methodInvokingJobDetail"/>   
 
</property>   
 
<property name="startDelay">   
  
<value>1000</value>   
 
</property>   
 
<property name="repeatInterval">   
  
<value>3000</value>   
 
</property>   
</bean> 

参考:
        http://www.javaeye.com/topic/115666
       http://www.javaeye.com/topic/117244


你可能感兴趣的:(spring+quartz的定时器功能)