SpringBoot集成Quartz执行定时任务

第一步:pom文件添加:
        <!-- Quartz定时任务-->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.3</version>
        </dependency>
		
第二步:新建配置文件spring-quartz.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
	<!-- 使用MethodInvokingJobDetailFactoryBean,任务类可以不实现Job接口,通过targetMethod指定调用方法-->
    <bean id="taskJob" class="com.TestTask">
    </bean>
    <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!--false表示等上一个任务执行完后再开启新的任务,禁止并发-->
        <property name="concurrent" value="false"/>
        <property name="targetObject">
            <ref bean="taskJob"/>  <!--  对应TestTask类 -->
        </property>
        <property name="targetMethod">
            <value>task</value>  <!--  对应TestTask中的task方法 -->
        </property>
    </bean>
    <!--  调度触发器 -->
    <bean id="myTrigger"
          class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail">
            <ref bean="jobDetail"/>
        </property>
        <property name="cronExpression" value="0 56 17 ? * * *"/>
    </bean>
    <!-- 调度工厂 -->
    <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="myTrigger"/>
            </list>
        </property>
    </bean>
	
</beans>
第三步:注入配置文件:
@Configuration
@ImportResource(locations = { "classpath:spring-quartz.xml" })
public class QuartzConfig {
}

第四步:新建任务类:
public class TestTask {
    private static final Logger logger = LoggerFactory.getLogger(TestTask.class);
    public void task(){
        logger.info("=======TestTask========");
    }
}

亲测能正常执行






已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页