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、查看结果

相关推荐
码云骑士7 小时前
06-Python装饰器从入门到源码(上)-闭包与自由变量
开发语言·python
半夜燃烧的香烟7 小时前
docker 安装minio nginx,配置nginx根据文根路由minio展示图片
java·nginx·docker
吴阿福|一人公司7 小时前
深度解析 Python 类变量修改的命名空间隔离
java·服务器·数据结构
zzz_23687 小时前
【Java基础】链表的七十二变——从LRU缓存到手写浏览器前进后退
java·链表·缓存
码云骑士7 小时前
10-Python运行时内存模型-栈帧-堆-引用计数-GC分代回收的全景图
开发语言·python
番茄去哪了7 小时前
神领物流面试题(一)
java·大数据·中间件
云烟成雨TD7 小时前
Agent Scope Java 2.x 系列【9】接入高德 MCP 服务
java·人工智能·agent
智码看视界7 小时前
老梁聊全栈系列 JavaScript语言本质:从原型链到异步编程的深度解析
开发语言·javascript·全栈·javascript核心
AI科技星7 小时前
数术工坊・八卷全书【本源创世终极版・万世定稿】
开发语言·网络·量子计算·拓扑学
雾沉川7 小时前
Visual C++ 运行库合集 v105.0 部署与故障排查技术指南
开发语言·c++·dll