• spring -boot定时任务 quartz 基于 MethodInvokingJobDetailFactoryBean 实现


    spring 定时任务 quartz 基于  MethodInvokingJobDetailFactoryBean 实现 

    依赖包 如下

    <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-quartz</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    View Code

    任务配置类 QuartzConfig

    package quarttest.demo;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean;
    import org.springframework.scheduling.quartz.SimpleTriggerFactoryBean;
    
    import java.util.Date;
    
    @Configuration
    public class QuartzConfig {
    
        /**
         *  在 Quartz  配置类中,主要配置两个东西:1. JobDetail 2. Trigger
         *   JobDetail 有两种不同的配置方式:
         *  * 1. MethodInvokingJobDetailFactoryBean   此处是基于方法1 的 即 MethodInvokingJobDetailFactoryBean
         *  * 2. JobDetailFactoryBean
         * @return
         */
    
        //第一个定时任务
        @Bean
        MethodInvokingJobDetailFactoryBean methodInvokingJobDetailFactoryBean() {
            MethodInvokingJobDetailFactoryBean bean = new MethodInvokingJobDetailFactoryBean();
            bean.setTargetBeanName("myJob1");
            bean.setTargetMethod("sayHello");
            return bean;
        }
    
    
        @Bean
        SimpleTriggerFactoryBean simpleTriggerFactoryBean() {
            SimpleTriggerFactoryBean bean = new SimpleTriggerFactoryBean();
            bean.setStartTime(new Date());
            //  bean.setRepeatCount(5);    设置重复次数
            bean.setJobDetail(methodInvokingJobDetailFactoryBean2().getObject());
            bean.setRepeatInterval(3000);  //毫秒
            return bean;
        }
    
    
    
        //第二个定时任务
    
        @Bean
        MethodInvokingJobDetailFactoryBean methodInvokingJobDetailFactoryBean2() {
            MethodInvokingJobDetailFactoryBean bean2 = new MethodInvokingJobDetailFactoryBean();
            bean2.setTargetBeanName("myJob1");
            bean2.setTargetMethod("Hello");
            return bean2;
        }
    
    
    
        @Bean
        SimpleTriggerFactoryBean simpleTriggerFactoryBean2() {
            SimpleTriggerFactoryBean bean = new SimpleTriggerFactoryBean();
            bean.setStartTime(new Date());
            //  bean.setRepeatCount(5);    设置重复次数
            bean.setJobDetail(methodInvokingJobDetailFactoryBean().getObject());
            bean.setRepeatInterval(3000);
            return bean;
        }
    }
    View Code

    任务类

    package quarttest.demo;
    
    import org.springframework.stereotype.Component;
    
    import java.util.Date;
    
    @Component
    public class MyJob1 {
        //任务一
        public void sayHello() {
            System.out.println("MyJob1>>>"+new Date());
        }
    
    
        //任务二
        public void Hello() {
            System.out.println("Hello========== "+new Date());
        }
    }
    View Code
    
    
    
     
  • 相关阅读:
    助教观察记录5(10/21-11/3)
    助教观察记录4(10/07-10/20)
    助教观察记录3(9/23-10/06)
    助教观察记录1(9/5-9/15)
    2019年春季学期《C语言程序设计II》课程总结
    2020软件工程个人作业06——软件工程实践总结作业
    软件工程第二次作业
    2020软件工程作业3
    2020软件工程作业01
    神必高考数学题乱写
  • 原文地址:https://www.cnblogs.com/JonaLin/p/11250287.html
Copyright © 2020-2023  润新知