javazx 发表于 2015-11-5 17:38:51

【java技术】spring4.1.7+quartz2.1.6整合 定时轮询任务功能 java论坛

java自学网就是一个靠谱的java论坛,今天正好研究了下最新版的spring 中的quartz来启动定时任务,其实凭借多年的java开发经验,quartz还是比较靠谱的,下面直接进入主题,代码献上:
1、建立spring-quartz.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:c="http://www.springframework.org/schema/c" xmlns="http://www.springframework.org/schema/beans"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

      <!-- 工作的bean -->
      <bean id="myJob" class="com.javazx.pats.atp.core.MyJob" />

      <!-- job的配置开始 -->
      <bean id="myJobDetail"
                class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
                <property name="targetObject">
                        <ref bean="myJob" />
                </property>
                <property name="targetMethod">
                        <value>work</value>
                </property>
      </bean>
      <!-- job的配置结束 -->


      <!-- 调度的配置开始 -->
      <!-- 每月1号凌晨1点 :0 0 1 1 * ? 每隔一分钟执行一次:0 */1 * * * ? 每年11和12月1号凌晨1点 0 0 1
                1 11,12 ? 每天凌晨1点 0 0 1 * * ? -->
      <bean id="crontestJobTrigger"
                class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">

                <property name="jobDetail">
                        <ref bean="myJobDetail" />
                </property>
                <property name="cronExpression">
                        <value>0 */1 * * * ?</value>
                </property>
      </bean>
      <!-- 调度的配置结束 -->


      <!-- 启动触发器的配置开始 -->
      <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
                <property name="jobDetails">
                        <list>
                              <ref bean="myJobDetail" />
                        </list>
                </property>
                <property name="triggers">
                        <list>
                              <ref bean="crontestJobTrigger" />
                        </list>
                </property>
      </bean>
      <!-- 启动触发器的配置结束 -->
</beans>


将此文件加入到spring的核心文件中

2、建立实际的任务类:MyJob.java

package com.javazx.pats.atp.core;
/**
*
* @author 作者 :javazx.com
* @version 创建时间:2015年11月5日 上午11:52:54
* @description 描述:
*
*/
import java.util.Date;

/*
* 使用spring+Quartz执行任务调度的具体类
* */
public class MyJob {

    public void work()
    {
         System.out.println("##############################当前时间:"+new Date().toString());
    }
}


将项目运行在容器中,就会没间隔一分钟打印出当前的时间。下面是quartz2.1.6和spring4.1.7的jar包
百度网盘下载地址(百度云)链接:java自学网(javazx.com)Quartz2.1.6+Spring4.1.7jar包.zip 【密码回帖可见】
**** Hidden Message *****





背包走的缓慢 发表于 2016-11-20 16:40:49

不错好资源 可以用

天之杰 发表于 2017-5-2 16:22:20

我正好需要!!

Bonismo 发表于 2017-9-16 18:32:34

前来膜拜。。。;P

ZYFHYC 发表于 2018-2-27 17:37:26

spring boot中的yml

gb357435737 发表于 2018-4-4 13:39:34

谢谢,,,,,,

wxl88080 发表于 2018-9-23 13:30:12

定时从不同数据库取数据吗?延迟的是不是任务会接数掉

lxh0787 发表于 2019-2-18 10:52:28

多谢。。。。

gaochaoao135 发表于 2019-6-17 22:59:59

加油学习,发到手机111111

cctv20 发表于 2020-3-19 10:41:27

谢谢分享,感谢楼主
页: [1] 2
查看完整版本: 【java技术】spring4.1.7+quartz2.1.6整合 定时轮询任务功能 java论坛