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>
  • 相关阅读:
    PL/SQL中的 not
    正则12和\1的理解
    eclipse/myeclipse注释模板的修改
    jboss修改内存
    myEclipse开发内存溢出解决办法myEclipse调整jvm内存大小 java.lang.OutOfMemoryError: PermGen space及其解决方法
    MyEclipse 启动报错:'Building workspace' has encountered a problem解决方法
    jboss 7.1.1.final 报错 set the maxParameterCount attribute on the Connector
    在 Ubuntu/Debian 下安装 PHP7.3 教程
    mariadb新安装解决远程访问以及root登录
    Docker 探索安装WordPress+Mysql8.0
  • 原文地址:https://www.cnblogs.com/lhl-shubiao/p/6685977.html
Copyright © 2011-2022 走看看