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

相关推荐
andyweike31 分钟前
php笔记
开发语言·笔记·php
EatFan38 分钟前
Spring Boot 4 落地观察:从 yudao-cloud、matecloud、JPower 看国产脚手架的升级路线与迁移清单
java·spring boot·后端·spring cloud·微服务·后端开发·jdk 21
Maiko Star1 小时前
* LangChain 提示词模板详解:ChatPromptTemplate 的使用与高级特性
java·人工智能·langchain
Circ.1 小时前
Python 调试 Litellm 本地大模型接口:模型列表与对话接口实操踩坑记录
开发语言·python
现任明教教主~3 小时前
Thinkphp站群蜘蛛池SaaS系统YanyvSEO含多用户/积分/六大引擎计费/易支付对接
java·开发语言·spring
Zhou1411363 小时前
SpringSecurity_02_授权与高级功能
开发语言·python
一条破秋裤4 小时前
Linux 线程创建:pthread_create 与基本回收
java·linux·运维
布吉岛的石头4 小时前
Java 程序员第 49 阶段5:BERT 预训练目标 MLM+NSP 的工程含义
java·人工智能·深度学习·bert·transformer
码匠许师傅4 小时前
【C++三方组件】cpp-httplib:一个头文件起 HTTP 服务
开发语言·c++·http