import java.util.Timer;
import java.util.TimerTask;
/**
* 分配一個定單
* @return
*/
@ResponseBody
@GetMapping("getTask")
public BaseResult getTask(HttpSession session){
try {
Task task = taskService.getTask();
ShiroUser user = getUser();
task.setLogs(user.getUsername());
taskService.recordLog(task);
//如果5分鐘沒有返回余額,就把此任務作廢
tempTask = task;
doTimer();
return new BaseResult(true,"success",task);
} catch (Exception e) {
e.printStackTrace();
return new BaseResult(false,"query error",null);
}
}
/**
* 5分鐘內如果沒有回傳余額,分配的定單作廢,status=0,logs=''
* @return
*/
private static final Timer timer = new Timer();
public void doTimer(){
timer.schedule(new RemindTask(), 300000);
}
class RemindTask extends TimerTask{
@Override
public void run() {
Task t2 = taskMapper.selectByPrimaryKey(tempTask.getId());
if (tempTask.getAmount().equals(t2.getAmount())){
tempTask.setLogs("");
tempTask.setStatus(0);
taskService.updateAmout(tempTask);
timer.cancel();
}
}
}
定時任務timer的簡單用法
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- Timer 定時器相信都不會陌生,之所以拿它來做源碼分析,是發現整個控制流程可以體現很多有意思的東西。 在業務開發...
- Java-Review-Note——4.多線程 標簽: JavaStudy PS:本來是分開三篇的,后來想想還是整...
- 一、Timer TimerTask 參考Java中的Timer和TimerTask在Android中的用法 在開發...