quartz任务调度框架实现任务定时执行,不传参的配置(一)

quartz是一个任务调度框架,可以用它来实现一些需要定时执行的任务。


本次实现的是spring配置整合quartz


1.配置如下:目标bean和bean中的方法需要自己定义,这个方法就是要执行的job(定时执行)

 <!--使用MethodInvokingJobDetailFactoryBean,任务类可以不实现Job接口,通过targetMethod指定调用方法-->
    <!-- 定义目标bean和bean中的方法 -->
    <bean id="SpringQtzJob" class="cn.thinkjoy.LawDataForExcel.quartz.QuartzApplication"/>
    <bean id="SpringQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" lazy-init="true">
        <property name="targetObject">
            <ref bean="SpringQtzJob"/>
        </property>
        <property name="targetMethod">
            <value>execute</value>
        </property>
        <!-- 同一任务在前一次执行未完成而Trigger时间又到时是否并发开始新的执行, 默认为true. -->
        <property name="concurrent" value="false"/>
    </bean>

 <!--调度触发器
        克隆表达式可以包括7个字段:秒、分、小时、月内日期、月、周内日期、年(可选字段)
        每天下午5点半执行一次
          0 30 17 * * ? *   0 */1 * * * ?
    -->
    <bean id="CronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="SpringQtzJobMethod"/>
        <property name="cronExpression" value="0 30 17 * * ? *"/>
    </bean>

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

在main方法里调用

 ApplicationContext context = new
                ClassPathXmlApplicationContext("classpath*:spring/spring.xml");
        Scheduler scheduler= (StdScheduler) context.getBean("SpringJobSchedulerFactoryBean");
        scheduler.start();


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值