特点
xxl-job-2.3.0版本
gitee地址:xxl-job-oracle
自定义机器人接入
申请完成后,请修改相关DDTalkUtil中的***标注,我在这里还提供了一张表来标识测试环境和生产环境机器人的不同,也有一个字段表示是否需要提醒。如果您不需要此功能,可以直接删除。改掉具体如下:
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功能非常强大,您还可以根据您的业务场景自定义修改DDTalkUtil工具类来满足需求。在页面中点击页签即可跳转到xxl-job的日志记录网页,非常方便和快捷。最终效果如下:
Oracle语句
- 执行sql-doc文件中的table.sql脚本,用户默认密码是admin/123456
- 相关xxl-job的教程,移步官网:XXL-JOB,本博主就不多解释了
- 请修改application.properties文件中的Oracle数据库连接
spring.datasource.url=jdbc:oracle:thin:@ip:port:**
spring.datasource.username=**
spring.datasource.password=**
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
结语
虽然现在有其他支持Oracle数据库连接的定时任务框架,但我在使用该项目时并未发现其他好的定时任务框架,所以只能进行大量改动。毕竟,xxl-job框架一直在不断更新完善,社区也十分丰富,因此它被众多公司使用。