Spring定时器多定时任务配置详解编程语言

spring-task.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" xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:task="http://www.springframework.org/schema/task" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
    http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.1.xsd 
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-3.1.xsd 
        http://www.springframework.org/schema/task  
        http://www.springframework.org/schema/task/spring-task-3.1.xsd"> 
 
    <bean id="midTask" class="com.henu.task.MidTask" /> 
        <!--注册定时器类,后面讲 --> 
        <!--定时器1 begin--> 
        <bean id="midDownTaskInfo" 
            class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
            <property name="targetObject" ref="midTask" /> 
            <property name="targetMethod" value="midownloadItemTask" /> 
        <!--指定定时器任务类要执行的方法名称 这里是midownloadItemTask --> 
        </bean> 
        <bean id="midDownTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
        <!--配置定时器任务的调度器 --> 
            <property name="jobDetail" ref="midDownTaskInfo" /> 
            <property name="cronExpression" value="0/5 * * * * ?" /> 
            <!--每隔5秒执行 --> 
        </bean> 
         
 
        <!--定时器2  begin--> 
        <bean id="midStatusTaskInfo" 
            class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
            <property name="targetObject" ref="midTask" /> 
            <property name="targetMethod" value="midownloadStatusTask" /> 
        </bean> 
        <bean id="midStatusTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
            <property name="jobDetail" ref="midStatusTaskInfo" /> 
            <property name="cronExpression" value="0/10 * * * * ?" /> 
        <!--每隔10秒执行--> 
        </bean> 
 
        <!--注册监听器 --> 
        <bean id="registerQuartz" 
            class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
            <!--注册定时器实体 集合 --> 
            <property name="triggers"> 
                <list> 
                    <ref local="midDownTrigger" /> 
                    <ref local="midStatusTaskTrigger" /> 
                </list> 
            </property> 
        </bean> 
</beans>

web.xml(在web.xml中加入以下代码)

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/config/spring-task.xml</param-value> 
</context-param>

MidTask.java

package com.henu.task; 
 
public class MidTask { 
     
    public void midownloadItemTask(){ 
        System.out.println("task1"); 
    } 
     
    public void midownloadStatusTask(){ 
        System.out.println("task2"); 
    } 
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/15353.html

(0)
上一篇 2021年7月19日 17:43
下一篇 2021年7月19日 17:43

相关推荐

发表回复

登录后才能评论