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

相关推荐
umeelove351 分钟前
vscode配置django环境并创建django项目(全图文操作)
java
x-cmd3 分钟前
[260307] x-cmd v0.8.6:新增 gpt-5.4 模型支持,sudo/os/hostname/cpu 等模块文档更新
java·数据库·gpt·sudo·x-cmd·googel
PPPPickup10 分钟前
深信服公司---java实习生后端一二面询问
java·后端·ai
架构师沉默11 分钟前
为什么很多大厂 API 不再使用 PUT 和 DELETE?
java·后端·架构
微学AI12 分钟前
内网穿透的应用-Plex 打造随身私人影院,用cpolar告别地狱限制。
开发语言·php
YDS82922 分钟前
SpringCloud —— Elasticsearch的DSL查询
java·elasticsearch·搜索引擎·spring cloud
亚马逊云开发者28 分钟前
你的 AI Agent 在裸奔吗?四层防护方案,从权限到审计一次讲透
java
昨日余光33 分钟前
建议收藏!我开发了一个免费无限制的AI绘画公益站!
开发语言·前端·javascript·ai作画·typescript
ZHOUPUYU36 分钟前
我在PHP里学到的“套路”与“反套路” 设计模式与依赖注入
开发语言·php
意疏40 分钟前
openJiuwen实战:用AsyncCallbackFramework为Agent增强器添加可观测性
java·服务器·前端