您好,登錄后才能下訂單哦!
在Java Spring Boot中,配置定時(shí)任務(wù)有多種方法。下面列舉了兩種常用的配置方法:
方法一:使用@Scheduled
注解
@EnableScheduling
注解,以啟用定時(shí)任務(wù)功能:import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@Scheduled
注解。你可以通過fixedRate
、fixedDelay
或cron
屬性來配置任務(wù)的執(zhí)行頻率:import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class MyScheduledTasks {
@Scheduled(fixedRate = 5000) // 每隔5秒執(zhí)行一次
public void task1() {
System.out.println("Task 1 executed at: " + new Date());
}
@Scheduled(fixedDelay = 10000) // 每次任務(wù)執(zhí)行完畢后,等待10秒再執(zhí)行下一次
public void task2() {
System.out.println("Task 2 executed at: " + new Date());
}
@Scheduled(cron = "0 * * * * ?") // 每分鐘的整點(diǎn)執(zhí)行
public void task3() {
System.out.println("Task 3 executed at: " + new Date());
}
}
方法二:使用XML配置文件
在src/main/resources
目錄下創(chuàng)建一個(gè)名為spring-boot-Scheduled.xml
的XML文件。
在XML文件中添加<task:annotation-driven>
元素以啟用定時(shí)任務(wù)功能,并使用<task:schedule>
元素配置定時(shí)任務(wù):
<?xml version="1.0" encoding="UTF-8"?>
<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 id="task1" class="com.example.MyScheduledTasks">
<property name="task1" ref="task1"/>
</bean>
<bean id="task2" class="com.example.MyScheduledTasks">
<property name="task2" ref="task2"/>
</bean>
<bean id="task3" class="com.example.MyScheduledTasks">
<property name="task3" ref="task3"/>
</bean>
<task:scheduled-tasks>
<task:scheduled ref="task1" method="task1"/>
<task:scheduled ref="task2" method="task2" fixed-rate="5000"/>
<task:scheduled ref="task3" method="task3" cron="0 * * * * ?"/>
</task:scheduled-tasks>
</beans>
MyScheduledTasks
類中添加相應(yīng)的任務(wù)方法:package com.example;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class MyScheduledTasks {
public void task1() {
System.out.println("Task 1 executed at: " + new Date());
}
public void task2() {
System.out.println("Task 2 executed at: " + new Date());
}
public void task3() {
System.out.println("Task 3 executed at: " + new Date());
}
}
以上就是在Java Spring Boot中配置定時(shí)任務(wù)的兩種常用方法。你可以根據(jù)自己的需求選擇合適的方法進(jìn)行配置。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。