📄 task.java
字号:
package com.lanx.app.mail.pool;
import java.util.Date;
/**
* 所有任务接口
* 其他任务必须继承访类
*
* @author obullxl
*/
public abstract class Task implements Runnable {
// private static Logger logger = Logger.getLogger(Task.class);
/* 产生时间 */
protected Date generateTime = null;
/* 提交执行时间 */
private Date submitTime = null;
/* 开始执行时间 */
private Date beginExceuteTime = null;
/* 执行完成时间 */
private Date finishTime = null;
private long taskId;
private int priority;
public Task() {
this.generateTime = new Date();
}
/**
* 任务执行入口
*/
public void run() {
/**
* 相关执行代码
*
* beginTransaction();
*
* 执行过程中可能产生新的任务 subtask = taskCore();
*
* commitTransaction();
*
* 增加新产生的任务 ThreadPool.getInstance().batchAddTask(taskCore());
*/
}
public int getPriority() {
return priority;
}
public void setPriority(int priority) {
this.priority = priority;
}
public Date getGenerateTime() {
return generateTime;
}
public Date getBeginExceuteTime() {
return beginExceuteTime;
}
public void setBeginExceuteTime(Date beginExceuteTime) {
this.beginExceuteTime = beginExceuteTime;
}
public Date getFinishTime() {
return finishTime;
}
public void setFinishTime(Date finishTime) {
this.finishTime = finishTime;
}
public Date getSubmitTime() {
return submitTime;
}
public void setSubmitTime(Date submitTime) {
this.submitTime = submitTime;
}
public long getTaskId() {
return taskId;
}
public void setTaskId(long taskId) {
this.taskId = taskId;
}
/**
* 所有任务的核心 所以特别的业务逻辑执行之处
*
* @throws Exception
*/
public abstract Task[] taskCore();
/**
* 是否用到数据库
*
* @return
*/
protected abstract boolean useDB();
/**
* 是否需要立即执行
*
* @return
*/
protected abstract boolean needExecuteImmediate();
/**
* 任务信息
*
* @return String
*/
public abstract String info();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -