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");
    }
}
复制代码
posted @   岁月淡忘了谁  阅读(5080)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示