quartz任务定时任务创建
来源:互联网 发布:魔兽世界旧世界数据库 编辑:程序博客网 时间:2024/06/06 03:59
调度器:
/** * 任务调度器类 * @author wwr * 调度任务:定时发送信息类:SendMsgForPersonTimmer;调度时间:五分钟 */public class TaskScheduler { private static org.slf4j.Logger _log = LoggerFactory.getLogger(MainScheduler.class); //创建调度器 public static Scheduler getScheduler()throws SchedulerException{ SchedulerFactory schdulerFactory = new StdSchedulerFactory(); return schdulerFactory.getScheduler(); } /** * 任务调度 * @param jobClass 任务类 * @param job1 任务名 * @param job1Group 任务组别 * @param trigger1 触发器名字 * @param triggerGroup 触发器组别 * @throws SchedulerException * @throws ParseException */ public static void schedulerJob(Object jobClass,String job1,String job1Group,String trigger1,String triggerGroup)throws SchedulerException, ParseException{ Class<? extends Job> job = (Class<? extends Job>) jobClass.getClass(); //创建任务 JobDetail jobDetail = JobBuilder.newJob(job).withIdentity(job1,job1Group).build(); //创建触发器,三秒延迟 Long time = System.currentTimeMillis()+3*1000L;//设置3秒后启动任务 Date startTime = new Date(time); //Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1","group3").withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInHours(10).repeatForever()).build(); Trigger trigger = TriggerBuilder.newTrigger().withIdentity(trigger1,triggerGroup).startAt(startTime).withSchedule(CronScheduleBuilder.cronSchedule("5/0 * * * * ?")).build();//设置五分钟执行一次任务 Scheduler scheduler = getScheduler(); //将任务及触发器放入调度器 scheduler.scheduleJob(jobDetail, trigger); //调度器开始调度任务 scheduler.start(); }
创建要执行的定时任务:
/** * 定时检测专家邮件状态是否正常 * 未发的话给专家发送邮件 * @author wwr * */public class SendMsgForPersonTimmer implements Job{ @Override public void execute(JobExecutionContext context) throws JobExecutionException { //检查邮件状态 List<ExpertMailModel> mailList = ExpertMailModel.dao.getMail(); for(ExpertMailModel msg:mailList){ //判断邮件状态 if(Integer.parseInt(String.valueOf(msg.get("STATUS")))==0){ //发送邮件 String sjr=msg.getStr("RECEIVE_MAIL"); String fsnr=msg.getStr("CONTENT"); MailKit.send(sjr,Arrays.asList(sjr), "抽取专家提醒 ", fsnr); //更新邮件记录表的邮件发送时间 和状态 msg.set("SEND_DATE", Timestamp.valueOf(DateUtil.getNow())); msg.set("STATUS", 1); msg.update(); } //判断短信状态 if(Integer.parseInt(String.valueOf(msg.get("SHORTMSGSTATUS")))==0){ String telPhone = msg.get("TELPHONE"); String personName = msg.get("EXPERT_NAME");//专家姓名 String project = msg.get("PROJECTNAME");//项目名称 String group = msg.get("GROUPNAME");//项目组别名称 //设置短信内容 String msgContent = "【山西晋路软件有限公司】"+personName+":您已被"+project+"项目抽取作为"+group+"专家进行评审,请登录邮箱确认是否能按时参加!"; int feedBack = SendShortMsg.sendMsg(telPhone, personName, project, group); if(feedBack==1){ msg.set("SHORTMSGCONTENT", msgContent); msg.set("SHORTMSGSTATUS", 1); msg.update(); }else{ System.out.println("短信发送失败!!!"); } } } }
调度器装载定时任务job。
阅读全文
0 0
- quartz任务定时任务创建
- 使用Quartz创建定时任务
- ssm+quartz创建定时任务
- quartz定时任务
- Spring+Quartz定时任务
- Quartz定时任务初学
- Quartz 定时任务
- spring quartz 定时任务
- Spring-quartz定时任务
- spring 定时任务 quartz
- Quartz定时任务学习
- Quartz定时任务学习
- spring quartz 定时任务
- spring Quartz 定时任务
- spring+quartz定时任务
- 定时任务 quartz使用
- quartz 定时任务
- Quartz定时任务配置
- 阿里云 LNMP 环境配置
- hive 服务
- 关于神经网络运行报错的问题解决
- 【学习摘记】马士兵bbs初级版_课时10_删除:递归是难点
- bzoj 2827: 千山鸟飞绝
- quartz任务定时任务创建
- css+js 实现在后台加载时前端出现等待的圆形图标,或者批量导入时出现等待图标提高用户体验,废话少说直接上代码 <style type="text/css"> body {
- Be an interviewer
- Android布局总结四:Merge总结
- ThreadLocal和InheritableThreadLocal的使用
- Jackson实现的json操作工具类
- 如何解决listview item事件冲突
- [Node]Hexo(next主题)+Coding搭建个人博客
- C#计算一段程序运行时间的三种方法