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>
  • 相关阅读:
    .NETCORE CONSUL
    Jenkins+github自动化部署.Net Core程序到Docker
    CleanArchitecture原则CQRS模式
    BFF架构了解
    .NET 生态系统的蜕变之 .NET 6
    Deislabs开源 使用WebAssembly打造的PaaS项目Hippo
    微软认真聆听了开源 .NET 开发社区的炮轰: 通过CLI 支持 Hot Reload 功能
    单体应用 适合采用 dapr 构建吗?
    微软发布了Visual Studio 2022 RC版,并将在11月8日发布正式版
    [LeetCode] 1248. Count Number of Nice Subarrays 统计优美子数组
  • 原文地址:https://www.cnblogs.com/lhl-shubiao/p/6685977.html
Copyright © 2011-2022 走看看