
java如何每10分钟执行一次,并7天后结束访问数据库?
使用ssm框架,需要在特定时间内(如每10分钟)执行任务并于7天后结束。timer类和quartz框架都可以实现定时任务,但各自的具体用法有所不同。
定时执行:
您可以借助timer类的schedule方法来安排任务在指定时间后执行。该方法的语法为:
立即学习“Java免费学习笔记(深入)”;
public void schedule(timertask task, long delay, long period)
其中:
- task:要执行的任务
- delay:第一次执行任务的延迟时间(毫秒)
- period:重复执行任务的间隔时间(毫秒)
定时结束:
要让任务在7天后结束,可以使用timer类的cancel方法。该方法的语法为:
public boolean cancel()
调用此方法将取消任务,并防止其再次执行。
示例代码:
import java.util.Timer;
import java.util.TimerTask;
public class Main {
public static void main(String[] args) {
// 安排任务每 10 分钟执行一次
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// TODO: 执行访问数据库的任务
}
}, 0, 10 * 60 * 1000); // 10 分钟
// 7 天后取消任务
new Thread(() -> {
try {
Thread.sleep(7 * 24 * 60 * 60 * 1000); // 7 天
timer.cancel();
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
}
}这段代码使用timer类安排每 10 分钟执行一次任务,并使用一个单独的线程在 7 天后取消任务。










