xxl-job任务调度平台发送报警邮件
xxl-job任务调度平台发送报警邮件
前言
前几天接到了一个需求,是要在xxl-job(这个项目在网上很常见,是xuexueli大佬开源的~)项目里添加一个Job,定时发送邮件预警。因为办公室的前辈都写好了现成的,我直接照猫画虎就行了。
项目开发
-
新建Java项目 在xxl-job里需要在jobhandle里新建一个Java项目,里面的@JobHandle相当于框架中Controller层的标识,还要加上@Component注解将其注入到Spring容器中。在xxl-job项目中的每个项目执行器都要继承IJobHandler,重写其execute方法,在这个方法里写具体的业务逻辑。
@JobHandler(value = "PPSAlarmMonitor")
@Component
public class PPSAlarmMonitoring extends IJobHandler {
/**
此处省略部分业务代码
*/
@Override
public ReturnT<String> execute(String param) throws Exception {
...
}
-
发送邮件具体代码 之后获取从前台admin页面配置的任务参数,在后台进行具体的参数解析。在这里编写html相关的代码,Java会将去解析成Html。
public boolean WSCClientByUrl(String to_address, String url) {
boolean ret = false;
Service1 factory = new Service1();
Service1Soap service1Soap = factory.getService1Soap();
String html = "<html>"
+ "<head>"
+ "<meta http-equiv=content-type content=text/html;charset=utf-8>";
html += "</head>"
+ "<body>"
+ "<p style=color:blue style=font-weight:900;>" + "</p>";
html += "</body>"
+ "</html>";
try {
String titleInfo =;
String searchResult = service1Soap.sendMailInface(to_address, titleInfo, html);
XxlJobLogger.log("searchResult: " + searchResult);
ret = true;
} catch (Exception e) {
XxlJobLogger.log(e.toString());
}
return ret;
}
-
邮箱地址配置 本项目的邮件地址配置MySQL里,方便后期的维护。在Java代码里进行邮件地址的读取,将其发送给对应的邮箱。 具体的xxl-job项目是有字节跳动大佬开源的,感兴趣的可以前往
结语
已经从学校毕业差不多半年了,来这里也已经四个多月了,自己成长了多少自己也能感觉到,如人饮水,冷暖自知。从对项目的一无所知到先到的半知半解,自己还有很多要学习的地方,希望几年之后,能看的到自己的成长。
