Java tomcat 使用spring-task,实现定时任务功能

前言

今天接触到一个需求,需要添加一个定时任务功能,第一反应是启动类@EnableScheduling、定时任务方法使用@Scheduled实现,导入项目后才发现,这个项目是ssm整合框架的tomcat项目,没有启动类, 于是改变了思路,找到Spring-MVC的配置,文件名为spring-servlet.xml,在里面配置扫描包,最终测试成功。


1、编写定时任务功能

java 复制代码
package com.ats.imageRetrieval.web.task;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;

/**
 * @author qyl
 * @date 2024/02/04
 */
@Slf4j
@Configuration
@EnableScheduling
public class MyTask {
    /**
     * 参数
     */
    @Value("${task.name}")
    private String name;


    /**
     * 定时任务入口
     */
    @Scheduled(cron = "${task.corn:0 0/2 * * * *}")
    public void execute() {
        log.info("定时任务开始");
        // TODO:业务处理
        log.info("开始处理 name:{}...........", name);
        log.info("定时任务开始完成");
    }
}

2、配置文件添加定时任务相关

定时任务执行时间,cron表达式,0/30 * * * * * 即每隔30s

task.corn=0/30 * * * * *

定时任务参数

task.name=test

3、修改spring-servlet.xml

Spring-MVC的配置,文件名为spring-servlet.xml,配置扫描包

4、查看结果

相关推荐
努力的lpp19 小时前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
菜鸟~noob23320 小时前
【电子战】第03篇:CFAR(恒虚警)处理【含matlab代码】
开发语言·matlab
lhldsg20 小时前
全民健身解决方案小程序开发:从0到1的技术实战
java·数据库·需求分析
jason成都20 小时前
Spring WebFlux 适配达梦新方案|dm‑r2dbc:Netty 异步传输的实验性 R2DBC 驱动
java·后端·spring
泡海椒20 小时前
内置SPI函数库详解:JQuick-Java Builtin工具类实战用法
java·开发语言·python
hqyjzsb21 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
辰烨chenye21 小时前
LeetCode Hot 100 题解 · 二分篇
java·算法·leetcode
小羊没烦恼!21 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
Keven_1121 小时前
算法札记:ACM适用的很骚的C++语法(持续更新)
开发语言·c++
脉动数据行情11 天前
C# 实现德指 DAX 期货 WebSocket 实时行情监听
开发语言·websocket·c#