特點
xxl-job是一個輕量級、易擴展的分布式任務(wù)調(diào)度平臺,能夠快速開發(fā)和簡單學(xué)習(xí)。開放源代碼并被多家公司線上產(chǎn)品使用,開箱即用。盡管其確實非常好用,但我在工作中使用的是Oracle數(shù)據(jù)庫,因為xxl-job是針對MySQL設(shè)計的,所以使用起來需要進行一些魔改。為了方便后人使用,我已經(jīng)創(chuàng)建了許多SQL和自增序列,并將其整合到了xxl-job-2.3.0版本中,環(huán)境已經(jīng)在線上正常使用了,所以可以放心使用。此外,我還將釘釘群報警機器人集成在了框架中,一旦有任何錯誤報警就會直接鎖定日志URL,方便快速查看和處理響應(yīng)!
xxl-job-2.3.0版本
gitee地址:xxl-job-oracle
項目介紹:SQL文件在sql-doc中,如果不使用釘釘報警機制,請刪掉DDTalkUtil工具類及其引用。如果使用,則需要申請釘釘報警機器人相關(guān)token,相關(guān)教程請移步官方地址:自定義機器人接入
自定義機器人接入
申請完成后,請修改相關(guān)DDTalkUtil中的***標(biāo)注,我在這里還提供了一張表來標(biāo)識測試環(huán)境和生產(chǎn)環(huán)境機器人的不同,也有一個字段表示是否需要提醒。如果您不需要此功能,可以直接刪除。改掉具體如下:
public class DDTalkUtil {
private static Logger logger = LoggerFactory.getLogger(DDTalkUtil.class);
private static RestTemplate restTemplate = new RestTemplate();
public static void toTalk(String jobtitle,String text,long jobid){
try {
CrmInterfaceUrlVO crmInterfaceUrlVO = XxlJobAdminConfig.getAdminConfig().getXxlJobInfoDao().getEnv("***");
logger.info("獲取對象:"+crmInterfaceUrlVO.toString());
//不提醒
if ("N".equals(crmInterfaceUrlVO.getUseYn())) {
return;
}
String finalUrl = "https://oapi.dingtalk.com/robot/send?access_token=***";
JsonObject json = new JsonObject();
json.addProperty("msgtype","link");
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json;charset=UTF-8");
JsonObject link = new JsonObject();
link.addProperty("text",text);
link.addProperty("title",crmInterfaceUrlVO.getName()+jobtitle);
link.addProperty("messageUrl",crmInterfaceUrlVO.getUrl()+jobid);
json.add("link",link);
HttpEntity<String> formEntity = new HttpEntity<String>(json.toString(), headers);
logger.info(restTemplate.exchange(finalUrl, HttpMethod.POST, formEntity, String.class, (Object) null).getBody());
}catch (Exception e){
logger.error("釘釘報警錯誤:{}",e.getMessage());
}
}
}
實際上,xxl-job功能非常強大,您還可以根據(jù)您的業(yè)務(wù)場景自定義修改DDTalkUtil工具類來滿足需求。在頁面中點擊頁簽即可跳轉(zhuǎn)到xxl-job的日志記錄網(wǎng)頁,非常方便和快捷。最終效果如下:
Oracle語句
本博主已經(jīng)將相關(guān)SQL修改完畢,自行在Oracle庫中復(fù)制粘貼即可。文章來源:http://www.zghlxwxcb.cn/news/detail-412107.html
- 執(zhí)行sql-doc文件中的table.sql腳本,用戶默認密碼是admin/123456
- 相關(guān)xxl-job的教程,移步官網(wǎng):XXL-JOB,本博主就不多解釋了
- 請修改application.properties文件中的Oracle數(shù)據(jù)庫連接
spring.datasource.url=jdbc:oracle:thin:@ip:port:**
spring.datasource.username=**
spring.datasource.password=**
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
結(jié)語
雖然現(xiàn)在有其他支持Oracle數(shù)據(jù)庫連接的定時任務(wù)框架,但我在使用該項目時并未發(fā)現(xiàn)其他好的定時任務(wù)框架,所以只能進行大量改動。畢竟,xxl-job框架一直在不斷更新完善,社區(qū)也十分豐富,因此它被眾多公司使用。文章來源地址http://www.zghlxwxcb.cn/news/detail-412107.html

到了這里,關(guān)于XXL-JOB定時任務(wù)框架(Oracle定制版)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!