Java tomcat 使用spring-task,实现定时任务功能
在Java中使用Tomcat容器搭建Spring定时任务的基本步骤如下:
- 在
pom.xml
中添加Spring相关依赖,包括Spring Context和Spring Task的依赖。
<dependencies>
<!-- Spring Context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.20</version>
</dependency>
<!-- Spring Task -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>5.3.20</version>
</dependency>
</dependencies>
- 在
WEB-INF/web.xml
中配置Spring监听器和定时任务的配置文件。
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-config.xml</param-value>
</context-param>
- 创建Spring的配置文件
spring-config.xml
,并配置定时任务。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd">
<!-- 启用注解方式的定时任务 -->
<task:annotation-driven />
<!-- 定义定时任务的Bean -->
<bean id="scheduledTask" class="com.example.ScheduledTask"></bean>
</beans>
- 创建定时任务的Java类,使用
@Scheduled
注解标注方法为定时任务。
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class ScheduledTask {
@Scheduled(fixedRate = 5000) // 每5秒执行一次
public void execute() {
// 定时任务的逻辑
System.out.println("执行定时任务:" + System.currentTimeMillis());
}
}
确保Tomcat已经启动,并且应用已部署成功,定时任务将按照配置执行。
评论已关闭