AbstractTask
package com.huihe.exam.task; import com.huihe.exam.util.Tools; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.Trigger; import org.springframework.scheduling.support.CronTrigger; public abstract class AbstractTask implements Runnable { private SchedulerTask task; private final Logger log = LoggerFactory.getLogger(AbstractTask.class); public static final String TASK_SUCCESS = "2"; public static final String TASK_ERROR = "3"; public static final String TASK_DOING = "1"; public static final String TASK_WAITING = "0"; public AbstractTask (){ super(); } @Override public void run() { log.info("父类run方法"); } public abstract void success(); public abstract void error(); public abstract void doing(); public void stop(){ String taskId = task.getId(); if(TaskAdmin.scheduledFutureMap.containsKey(taskId)){ TaskAdmin.scheduledFutureMap.get(taskId).cancel(true); TaskAdmin.scheduledFutureMap.remove(taskId); log.info("移除任务【{}:{}】,当前任务池长度:{}", task.getTaskName(), taskId, TaskAdmin.scheduledFutureMap.size()); } } public SchedulerTask getTask() { return task; } public void setTask(SchedulerTask task) { this.task = task; } public Trigger getTrigger(){ return new CronTrigger(Tools.getCron(this.task.getStartTime())); } }
點擊查看更多內容
1人點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦