每45秒执行一次Cron表达式
时间: 2024-05-16 18:13:07 浏览: 100
好的,可以使用类似于以下的代码来实现:
```java
import java.util.Timer;
import java.util.TimerTask;
import org.quartz.CronExpression;
public class CronScheduler {
private Timer timer;
private CronExpression cronExpression;
public CronScheduler(String cronExpressionString) throws Exception {
this.cronExpression = new CronExpression(cronExpressionString);
this.timer = new Timer();
}
public void start(Runnable task) {
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
task.run();
}
};
timer.scheduleAtFixedRate(timerTask, 0, 45000);
}
public void stop() {
timer.cancel();
}
}
```
在上面的代码中,我们使用了 Java 自带的 `Timer` 类来执行定时任务,并使用了 Quartz 的 `CronExpression` 类来解析 Cron 表达式。具体使用方法为:
1. 实例化 `CronScheduler`,传入 Cron 表达式字符串,例如 `CronScheduler scheduler = new CronScheduler("0 0/1 * 1/1 * ? *");`;
2. 调用 `start` 方法,传入一个实现了 `Runnable` 接口的任务,例如 `scheduler.start(() -> System.out.println("hello world"));`;
3. 调用 `stop` 方法停止定时任务。
阅读全文