在說今天內容前 先說乙個註解@postconstruct這個是在servlet啟動時,就執行的註解。為什麼要說他呢?我們專案很多任務是配置在資料庫的,所以我們啟動專案的時候就要直接執行這些任務。所以要這個註解。
直接上**
public
class sysjob
public
void
setstaffname(string staffname)
private string lastmodtime; //最後修改時間
public long getjobid()
public
void
setjobid(long jobid)
public string getjobname()
public
void
setjobname(string jobname)
public string getjobbeanname()
public
void
setjobbeanname(string jobbeanname)
public string getcronexpr()
public
void
setcronexpr(string cronexpr)
public
intgetcurrstate()
public
void
setcurrstate(int currstate)
public
intgetisautostart()
public
void
setisautostart(int isautostart)
public
intgetisdel()
public
void
setisdel(int isdel)
public string getjobmemo()
public
void
setjobmemo(string jobmemo)
public
long
getstaffid()
public
void
setstaffid(long staffid)
public string getcreatetime()
public
void
setcreatetime(string createtime)
public string getlastmodtime()
public
void
setlastmodtime(string lastmodtime)
public string getipaddr()
public
void
setipaddr(string ipaddr)
public string getinparam()
public
void
setinparam(string inparam)
public string getjobgroup()
public
void
setjobgroup(string jobgroup)
}
/**
* servlet上下文
* 是為了把我們排程工廠放進去
*/private servletcontext servletcontext;
/*** 實現servletcontextaware介面的方法,注入servletcontext,本類實現這個介面
*@param servletcontext
*/@override
public
void
setservletcontext(servletcontext servletcontext)
/**
* bean初始化好之後執行(初始化需要隨工程啟動而啟動的定時任務)
*/@postconstruct
public
void
init() }}
} catch (exception e)
}/**
* 返回ip位址(如果是多網絡卡,ip位址用逗號分割)
*@return
*/public string getalllocalhostip() }}
} catch (exception e)
return sb.tostring();
}
/**
* 啟動任務
* @param sysjob 定時任務物件
* @return
*/public mapstarttask(sysjob sysjob) catch (exception e)
try
scheduler.schedulejob(job, trigger);
scheduler.start();
flag = true;
//0表示定時任務的當前狀態為停止,1表示定時任務的當前狀態是執行
sysjobservice.updatecurrentstate(sysjob.getjobid(), 1);
} catch (exception e)
map.put("flag", flag);
map.put("failcause", failcause);
return map;
}
/**
* 停止任務
* @param sysjob 定時任務物件
* @return
*/public
map<
string, object> stoptask(sysjob sysjob)
scheduler.pausetrigger(triggerkey);// 停止觸發器
scheduler.unschedulejob(triggerkey);// 移除觸發器
scheduler.deletejob(jobkey);// 刪除任務
flag =
true;
//0表示定時任務的當前狀態為停止,1表示定時任務的當前狀態是執行
sysjobservice.updatecurrentstate(sysjob.getjobid(), 0);
} catch (exception e)
map.put("flag", flag);
map.put("failcause", failcause);
return
map;
}
Spring Quartz實現定時執行任務的配置
1.要想使用quartz 必須要引入相關的包 以下是我在專案中gradle中的配置 compile org.quartz scheduler quartz 2.1.1 2.scheduler的配置 mockjobschedule 3.trigger的配置 4.jobdetail的配置 5.業務類的配...
Spring Quartz實現定時任務的配置方法
1 scheduler的配置 說明 scheduler包含乙個trigger列表,每個trigger表示乙個作業。2 trigger和jobdetail的配置 0 0 0 1 說明 1 cron表示式的格式 秒 分 時 日 月 周 年 可選 欄位名 允許的值 允許的特殊字元 秒 0 59 分 0 5...
基於Vue element admin實現動態路由
通常我們在vue專案中都是前端配置好路由的,但在一些專案中我們可能會遇到許可權控制,這樣我們就涉及到動態路由的設定了 動態路由設定一般有兩種 1 簡單的角色路由設定 比如只涉及到管理員和普通使用者的許可權。通常直接在前端進行簡單的角色許可權設定 2 複雜的路由許可權設定 比如oa系統 多種角色的許可...