spring整合Quartz定时器

为普通java类中的某个方法配置跑批任务:


1.定义要跑批的类和方法:


package com.xy.utils.quartz;


import org.joda.time.DateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 测试定时器类
 * @author javaw
 *
 */
public class TestQuartz {
      
       public static Logger logger = LoggerFactory.getLogger(TestQuartz.class);  
       public void TestMethod(){
            logger.info("Auto Execute TestMethod start! Date={}" ,new DateTime().toString("YYYY-MM-DD HH:mm:ss" ));
            logger.info("**********测试跑批类************");
            logger.info("Auto Execute TestMethod end! Date={}" ,new DateTime().toString("YYYY-MM-DD HH:mm:ss" ));
      }

}


2.配置Spring定时器让quartz自动执行testMethod方法:

<!-- 实例化bean -->
<bean id= "testMethodQuartz" class ="com.xy.utils.quartz.TestQuartz"/>


<!-- 配置MethodInvokingJobDetailFactoryBean -->
<bean id= "testTaskMethod"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
       <property name="targetObject" ref="testMethodQuartz"/>
       <property name="targetMethod" value="TestMethod"/>
       <property name="concurrent" value="false"/>
</bean>


<!-- 配置定时表达式 -->
<bean id= "testTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean" >
       <property name="jobDetail" ref="testTaskMethod" /> 
      <!-- 每一分钟执行一次 --> 
      <property name="cronExpression" value="0 0/1 * * * ?" /> 
</bean>


<!-- 配置调度工厂 -->
<bean id= "testSchedulerFactoryBean"
    class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
       <property name="triggers" >
             <list>
                   <ref bean="testTaskTrigger" />
             </list>
       </property>
</bean>


3.写测试方法进行调用(不用启动tomcat):


public static void main(String[] args) {
      SchedulerFactoryBean schedulerFactoryBean = (SchedulerFactoryBean) SpringUtilsFromClassPathXml.getBean(           "testSchedulerFactoryBean");
             //启动调度器
      schedulerFactoryBean.start();
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值