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

    Java Spring quartz 定时任务

    一、技术实现

    1.1 配置 spring 环境

    spring 配置 略

    定时任务相关 jar 包

        <!-- quartz -->
        <dependency>
          <groupId>org.quartz-scheduler</groupId>
          <artifactId>quartz</artifactId>
          <version>2.2.1</version>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context-support</artifactId>
          <version>${org.springframework.version}</version>
        </dependency>
    

    1.2 applicationContext 配置

        <!--启用spring的一些annotation -->
        <context:annotation-config/>
    
        <!--定时任务1 配置任务bean类 -->
        <bean name="job1" class="com.timedtask.TimedTask"/>
        <bean id="SpringQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <property name="targetObject">
                <ref bean="job1"/>
            </property>
            <property name="targetMethod">
                <!-- 要执行的方法名称 -->
                <value>task1</value>
            </property>
        </bean>
        <!--调度触发器-->
        <bean id="CronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
            <property name="jobDetail" ref="SpringQtzJobMethod"></property>
            <property name="cronExpression" value="0/5 * * * * ?"></property>
        </bean>
    
        <!--定时任务2-->
        <bean id="SpringQtzJobMethod2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <property name="targetObject">
                <ref bean="job1"/>
    
            </property>
            <property name="targetMethod">
                <!-- 要执行的方法名称 -->
                <value>task2</value>
            </property>
        </bean>
        <!--调度触发器-->
        <bean id="CronTriggerBean2" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
            <property name="jobDetail" ref="SpringQtzJobMethod2"></property>
            <property name="cronExpression" value="0/5 * * * * ?"></property>
        </bean>
        <!--调度工厂-->
        <bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
            <property name="triggers">
                <list>
                    <ref bean="CronTriggerBean"/>
                    <ref bean="CronTriggerBean2"/>
                </list>
            </property>
        </bean>
    

    1.3 定时任务类

    /**
     * 定时任务
     *
     * @author zt1994 2019/8/22 21:55
     */
    public class TimedTask {
    
        /**
         * 定时任务1
         */
        public void task1() {
            System.out.println("task1");
        }
    
    
        /**
         * 定时任务2
         */
        public void task2() {
            System.out.println("task2");
        }
    }
    

    二、测试定时任务

    启动项目,测试结果

    task1
    task2
    task1
    task2
    task1
    task2
    task1
    task2
    task1
    task2
    
  • 相关阅读:
    The connection to adb is down, and a severe error has occured
    《Head First 设计模式》学习笔记——适配器模式 + 外观模式
    CF1062F Upgrading Cities
    2018-8-10-win10-uwp-App-to-app-communication-应用通信
    2018-8-10-win10-uwp-App-to-app-communication-应用通信
    2019-8-31-dotnet-动态代理魔法书
    2019-8-31-dotnet-动态代理魔法书
    2019-8-31-PowerShell-使用-WMI-获取信息
    2019-8-31-PowerShell-使用-WMI-获取信息
    2018-11-2-win10-uwp-通过-win2d-画出笔迹
  • 原文地址:https://www.cnblogs.com/zt19994/p/14327401.html
Copyright © 2011-2022 走看看