zoukankan      html  css  js  c++  java
  • Spring定时任务

    spring 定时任务的实现
     
    1: 应用场景
        * 定时分析下日志
        * 定时统计基础数据信息,为报表统计准备数据
        * 定时清理垃圾数据
        * 定时检测档案的完整性
        * 。。。。。
     
    2:实现方式(采用第三方组件 Quartz实现定时任务)
        2.1 搭建环境  引入jar包
            * spring相关jar包     spring-context-support-4.2.1.RELEASE.jar
            * quartz相关的包(4.0以上的spring版本 对应Quartz的2.2.1及以上的版本)
                --spring-context-support-4.2.1.RELEASE.jar //此包是spring对插件的支持包
                -- quartz-2.2.1.jar
                -- quartz-jobs-2.2.1.jar
                -- slf4j-log4j12-1.6.6.jar
                -- slf4j-api-1.6.6.jar
                -- log4j-1.2.16.jar
                -- c3p0-0.9.1.1.jar
     
        2.2    编写简单任务实现类(pojo)
            详见代码SimpleQuartzTest.java
                  applicationContext-job.xml
    <!-- 配置定时任务第一种方式 -->
    <!-- 注册目标Bean -->
    <bean id= "myJob" class ="com.shubiao.jobs.MyJobs01"></ bean>
     
    <!-- 配置目标方法 -->
    <bean id= "targetmethod" class= "org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" >
         <!-- 应用目标对象 -->
         <property name ="targetObject" ref="myJob"></ property>
         <!-- 应用目标方法 -->
         <property name ="targetMethod">
                <value >testjobs</value>
         </property >
    </bean>
         
    <!-- 定时任务频率 -->
    <bean id= "simpleTriggle" class= "org.springframework.scheduling.quartz.SimpleTriggerFactoryBean" >
         <property name ="jobDetail" ref="targetmethod"></ property>
         <property name ="startDelay">
                <value >2000 </value >
         </property >
         <property name ="repeatInterval">
                <value >5000 </value >
         </property >
    </bean>
     
    <!-- 调度任务工厂 -->
    <bean id= "schedule" class= "org.springframework.scheduling.quartz.SchedulerFactoryBean" >
         <property name ="triggers">
                <array >
                     <ref bean ="simpleTriggle"/>
                     <ref bean ="cronTriggle"/>
                </array >
         </property >
    </bean>
        2.3 编写指定频率的任务实现类(extends QuartzJobBean)   
     
     
    <!-- 配置定时任务第二种方式 -->
    <!-- 定义目标方法 -->
    <bean id= "method" class= "org.springframework.scheduling.quartz.JobDetailFactoryBean" >
         <property name ="jobClass" value= "com.shubiao.jobs.MyJobs02"></property >
    </bean>
    <!-- 定时任务的频率 -->
    <bean id= "cronTriggle" class= "org.springframework.scheduling.quartz.CronTriggerFactoryBean" >
         <property name ="jobDetail" ref="method"></ property>
         <property name ="cronExpression" value="0/5 * * ? * TUE"></property>
    </bean>
  • 相关阅读:
    企业项目化管理介绍
    企业IT架构介绍
    移动端运维体系建设
    学习型组织与企业
    css垂直居中怎么设置?文字上下居中和图片垂直居中
    情人节看看他们是怎么用微信红包示爱的
    2017年腾讯首次大规模扫号展开
    随机森林入门攻略(内含R、Python代码)
    11 Facts about Data Science that you must know
    机器学习编程语言之争,Python夺魁
  • 原文地址:https://www.cnblogs.com/lhl-shubiao/p/6685977.html
Copyright © 2011-2022 走看看