思路 将日期转为Cron表达式, 因为其他的调度器怎么都有循环啊,重复次数哪些,还必须得设置
cron可以控制只执行一次
执行完再删除这个任务
import java.text.SimpleDateFormat;
import java.util.Date;
public class CronUtil {
public static String getCron(Date date) {
String dateFormat = "ss mm HH dd MM ? yyyy";
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
String formatTimeStr = null;
if (date != null) {
formatTimeStr = sdf.format(date);
}
return formatTimeStr;
}
}
scheduler.scheduleJob(
JobBuilder.newJob(CloseOrderJob.class).withIdentity(jobName).usingJobData("orderId", orderId).build(),
TriggerBuilder.newTrigger().withIdentity(jobName).withSchedule(CronScheduleBuilder.cronSchedule(CronUtil.getCron(executeDate))).build()
);