范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Quartz工具类

  package cn.itsource.aigou.job;  import static org.quartz.CronScheduleBuilder.cronSchedule; import static org.quartz.JobBuilder.newJob; import static org.quartz.TriggerBuilder.newTrigger;  import org.quartz.CronTrigger; import org.quartz.JobDataMap; import org.quartz.JobDetail; import org.quartz.JobKey; import org.quartz.Scheduler; import org.quartz.Trigger; import org.quartz.TriggerKey;    /**  * Quartz调度管理器  *   */ public class QuartzUtils { 	private static String JOB_GROUP_NAME = "JOB_GROUP_SYSTEM"; 	private static String TRIGGER_GROUP_NAME = "TRIGGER_GROUP_SYSTEM";    	/** 	 * @Description: 添加一个定时任务,使用默认的任务组名,触发器名,触发器组名 	 *  	 * @param sched 	 *            调度器 	 *  	 * @param jobName 	 *            任务名 	 * @param cls 	 *            任务 	 * @param params 	 *            任务参数 	 * @param time 	 *            时间设置,参考quartz说明文档 	 *  	 * @Title: QuartzManager.java 	 */ 	public static void addJob(Scheduler sched, String jobName, @SuppressWarnings("rawtypes") Class cls, Object params, 			String time) { 		try { 			JobKey jobKey = new JobKey(jobName, JOB_GROUP_NAME);// 任务名,任务组,任务执行类 			@SuppressWarnings("unchecked")  			JobDataMap jobDataMap = new JobDataMap(); 			jobDataMap.put("params", params); 			JobDetail jobDetail = newJob(cls).withIdentity(jobKey).setJobData(jobDataMap).build(); 			TriggerKey triggerKey = new TriggerKey(jobName, TRIGGER_GROUP_NAME);// 触发器 			 			Trigger trigger = newTrigger().withIdentity(triggerKey).withSchedule(cronSchedule(time)).build();// 触发器时间设定 			sched.scheduleJob(jobDetail, trigger); 			if (!sched.isShutdown()) { 				sched.start();// 启动 			} 		} catch (Exception e) { 			throw new RuntimeException(e); 		} 	}     	/** 	 * @Description: 添加一个定时任务 	 *  	 * @param sched 	 *            调度器 	 *  	 * @param jobName 	 *            任务名 	 * @param jobGroupName 	 *            任务组名 	 * @param triggerName 	 *            触发器名 	 * @param triggerGroupName 	 *            触发器组名 	 * @param jobClass 	 *            任务 	 * @param params 	 *            任务参数 	 * @param time 	 *            时间设置,参考quartz说明文档 	 *  	 * @Title: QuartzManager.java 	 */ 	public static void addJob(Scheduler sched, String jobName, String jobGroupName, String triggerName, 			String triggerGroupName, @SuppressWarnings("rawtypes") Class jobClass,  Object params, String time) { 		try { 			JobKey jobKey = new JobKey(jobName, jobGroupName); 			JobDataMap jobDataMap = new JobDataMap(); 			jobDataMap.put("params", params); 			@SuppressWarnings("unchecked") 			JobDetail jobDetail = newJob(jobClass).withIdentity(jobKey).setJobData(jobDataMap).build(); 			// 触发器 			TriggerKey triggerKey = new TriggerKey(triggerName, triggerGroupName); 			Trigger trigger = newTrigger().withIdentity(triggerKey).withSchedule(cronSchedule(time)).build(); 			sched.scheduleJob(jobDetail, trigger); 		} catch (Exception e) { 			throw new RuntimeException(e); 		} 	}    	/** 	 * @Description: 修改一个任务的触发时间(使用默认的任务组名,触发器名,触发器组名) 	 *  	 * @param sched 	 *            调度器 	 * @param jobName 	 * @param time 	 *  	 * @Title: QuartzManager.java 	 */ 	@SuppressWarnings("rawtypes") 	public static void modifyJobTime(Scheduler sched, String jobName, String time) { 		try { 			TriggerKey triggerKey = new TriggerKey(jobName, TRIGGER_GROUP_NAME); 			CronTrigger trigger = (CronTrigger) sched.getTrigger(triggerKey); 			if (trigger == null) { 				return; 			} 			String oldTime = trigger.getCronExpression(); 			if (!oldTime.equalsIgnoreCase(time)) { 				JobKey jobKey = new JobKey(jobName, JOB_GROUP_NAME); 				JobDetail jobDetail = sched.getJobDetail(jobKey); 				Class objJobClass = jobDetail.getJobClass(); 				Object params = jobDetail.getJobDataMap().get("params"); 				removeJob(sched, jobName); 				System.out.println("修改任务:" + jobName); 				addJob(sched, jobName, objJobClass, params,time); 			} 		} catch (Exception e) { 			throw new RuntimeException(e); 		} 	}    	/** 	 * @Description: 修改一个任务的触发时间 	 *  	 * @param sched 	 *            调度器 * 	 * @param sched 	 *            调度器 	 * @param triggerName 	 * @param triggerGroupName 	 * @param time 	 *  	 * @Title: QuartzManager.java 	 */ 	public static void modifyJobTime(Scheduler sched, String triggerName, String triggerGroupName, String time) { 		try { 			TriggerKey triggerKey = new TriggerKey(triggerName, triggerGroupName); 			CronTrigger trigger = (CronTrigger) sched.getTrigger(triggerKey); 			if (trigger == null) { 				return; 			} 			String oldTime = trigger.getCronExpression(); 			if (!oldTime.equalsIgnoreCase(time)) { 				// 修改时间 				trigger.getTriggerBuilder().withSchedule(cronSchedule(time)); 				// 重启触发器 				sched.resumeTrigger(triggerKey); 			} 		} catch (Exception e) { 			throw new RuntimeException(e); 		} 	}    	/** 	 * @Description: 移除一个任务(使用默认的任务组名,触发器名,触发器组名) 	 *  	 * @param sched 	 *            调度器 	 * @param jobName 	 *  	 * @Title: QuartzManager.java 	 */ 	public static void removeJob(Scheduler sched, String jobName) { 		try { 			TriggerKey triggerKey = new TriggerKey(jobName, TRIGGER_GROUP_NAME); 			sched.pauseTrigger(triggerKey);// 停止触发器 			sched.unscheduleJob(triggerKey);// 移除触发器 			JobKey jobKey = new JobKey(jobName, JOB_GROUP_NAME); 			sched.deleteJob(jobKey);// 删除任务 		} catch (Exception e) { 			throw new RuntimeException(e); 		} 	}    	/** 	 * @Description: 移除一个任务 	 *  	 * @param sched 	 *            调度器 	 * @param jobName 	 * @param jobGroupName 	 * @param triggerName 	 * @param triggerGroupName 	 *  	 * @Title: QuartzManager.java 	 */ 	public static void removeJob(Scheduler sched, String jobName, String jobGroupName, String triggerName, 			String triggerGroupName) { 		try { 			TriggerKey triggerKey = new TriggerKey(triggerName, triggerGroupName); 			sched.pauseTrigger(triggerKey);// 停止触发器 			sched.unscheduleJob(triggerKey);// 移除触发器 			JobKey jobKey = new JobKey(jobName, jobGroupName); 			sched.deleteJob(jobKey);// 删除任务 		} catch (Exception e) { 			throw new RuntimeException(e); 		} 	}    	/** 	 * @Description:启动所有定时任务 	 *  	 * @param sched  调度器 	 *  	 * @Title: QuartzManager.java 	 */ 	public static void startJobs(Scheduler sched) { 		try { 			sched.start(); 		} catch (Exception e) { 			throw new RuntimeException(e); 		} 	}    	/** 	 * @Description:关闭所有定时任务 	 *  	 * @param sched 	 *            调度器 	 *  	 */ 	public static void shutdownJobs(Scheduler sched) { 		try { 			if (!sched.isShutdown()) { 				sched.shutdown(); 			} 		} catch (Exception e) { 			throw new RuntimeException(e); 		} 	} }

让人一见倾心的无缝双屏画面哪里寻?飞利浦499P9H1显示器能带给你惊喜视频加载中传统双屏显示系统最大的问题在于即便是微边框显示器,双屏中间位置依然会有一条很大的黑边,无法显示内容,如此一来两块屏幕基本都是各自为战,使用起来就会受到一定的限制。飞利浦4质感爆表!首款支持LDAC的海贝WH2TWS蓝牙耳机体验前阵子Lime在刷朋友圈,刚好看到一个耳机发烧友发了一张HiByWH2的海报,感觉质感很不错,于是我就赶着首发赶紧入手了一枚,来给大家分享下。WH2支持LDAC蓝牙编码同样价格也很2021。08。28数字货币快讯鲍威尔美联储今年开始减码QE或是适宜的,但并不急于加息。印度央行行长印度可能在12月开始测试数字卢比。南非央行行长加密货币是一种资产而非货币。最高人民法院党组书记院长周强深入研究区iPhone13全系价格曝光起步价不变,顶配1TB成天价正常情况来看,9月17日苹果就要在全球正式发售iPhone13系列手机了!虽然之前有一些流言说IPhone13要大幅涨价,但是从各方面来看iPhone13系列依然会保持之前iPho原来小时候外语学不会是因为没有它华为上新有道智能词典笔我想说现在的学生真的幸运,以前我们就一本书,一支笔,一张幻灯片。现在的学生早就现代化教学了,学习平板去纸化,可互动课件,再加上现在智能词典笔也来了,不得不说现在的学生获取知识的便捷有没有一种习惯让你默默坚持五年以上?五年前,我不再去健身房了。五年前,我不再去打麻将了。五年前,我废掉了自己所有的游戏账号。五年前,我删除了手机上使用的聊天交友系统,包括微信,甚至淘宝,只留了一个看新闻的头条。五年前挑战一下不用手机感觉怎样?挑战一下不用手机感觉怎么样?其实,手机真的有那么重要吗?真的没那么重要!除了正常的工作外,其他时间玩手机,只能说明你此时没事干。就算是有重要的工作,对方看到一直不回复,也会直接打电小米限制快充,网友吵翻了在本期文章开始前,小编想问问大家,有尝试过自己给手机更换电池吗?小编是强烈不建议没有动手能力的人,自己动手更换电池的,因为,轻则机毁重则火灾受伤。锂电池的威力,可不是开玩笑的。但是儿子被南京信息工程大学数据科学和大数据技术专业录取了,这个专业的就业前景怎么样?该专业为近年来的新增专业。南京信息工程大学是国家双一流重点高校,数据科学和大数据技术专业为其信息与控制学院的5个本科专业之一,从其官网简介来看,该学院师资力量雄厚,科研成果显著,教OPPO已被起诉!接下来是华为?手机内存公摊面积,是闹剧吗?文小伊评科技最近,在知乎上,有一位认证为上海某律师事务所的律师发布了一则消息称,他将会以内存容量虚标为由起诉手机厂商,目前OPPO已经被起诉,未来他还会起诉苹果,华为以及小米。关于科技强国的背后,中国市场份额不足1,为何日本手机无人问津?日本手机怎么了?曾经在世界也是风靡一时,但这个现象也仅仅持续了几年,随后便从辉煌走向败落。一直以工业强国著称的日本为什么在手机方面落后于人呢?其实啊,早在2007年的时候,作为日本
从事网络营销行业前景待遇如何?网络营销方向分好的。说下市面上流行的两个方向。首先前几年的百度SEO。到最近三年的头条微视搜狐自媒体等等。可以说营销方式多种多样。甚至自建微信,粉丝,或者各种各样流量池。会得到非常你为什么喜欢索尼的产品?我的第一台电视机,第一部手机,第一台LD,第一台PS游戏机第一台DAT机,第一部数码相机,第一套组合音响等都是索尼大法的,你说我怎么不喜欢索尼电子产品?相信品牌沉淀,能在数码市场高移动天天打电话让装宽带,有什么猫腻吗?你们有被骚扰过吗?移动可以经营宽带业务,价格比其它运营商低,电视节目丰富,售后服务优,响应快,优势明显。建议选择使用。移动装宽带就是一个大坑,之前我也是收到电话说让装宽带,那时候家里用的是长城的宽带现在新能源汽车那么普遍,怎么没人发明新能源摩托?满大街的电车你看不见吗?电瓶车就电动车说什么新能源呢电车就是电车了,没必要起个高大上的名字,什么新能源汽车。这电是新能源吗?按电力发展史来看,电要比汽油早好多了,百度一下就知道了。为什么用支付宝付款的越来越少了?不方便。先别喷我,是真的不方便,毕竟每次打开都很麻烦,又不是常驻后台,打开的时候都要重新启动,如果让它常驻后台,又肝一直刷新浪费电量,还连带自启动其它App。还一点是活动真的太少了2022年65英寸电视怎么选,很多高配参数普及,价格不超4000元进入2022年,我们发现电视降价已经成为趋势,有些品牌比如红米开始定价就不高,目前价格稳定,但也有不少品牌价格不断下跌,毕竟现在正在转为买方市场,以65英寸为例,选择就非常多,不降员工拒绝交出代码并与公司互相索赔的案例入职2017年12月18日,币圈某交易所的深圳公司成立(已于2021年3月5日注销)。2018年6月,公司钱包上线(软著登记的首次发布日期是2018年6月19日)。2018年6月5哭笑不得!新疆一女子的手机用了近2年,意外发现摄像头贴膜没撕近日,新疆乌鲁木齐的网友分享了一则有趣的视频。视频中一名女子在拍照时,无意中发现自己用了近两年的手机摄像头的保护膜竟然没有撕下来。这一发现让女子瞬间哭笑不得,难怪两年来自己拍的照片1万元以上的手机买什么好?别急,我来为您盘点下1万块的手机选什么好一万元以上的预算可以买到什么手机,iPhone13ProMAX的顶配版本华为mateRS保时捷款手机,还有华为和三星提供的折叠屏手机,华为mateX2系列三星心2022换新机!这几款手机堪比小单反,配置强悍,影像极佳喜欢去各地拍照旅游的朋友,可能随身携带相机不方便,但是大部分手机的拍照效果并不如相机,小编给大家盘点了以下几款堪比小单反的手机,经常拍照的朋友可以考虑。第一款荣耀Magic3Pro为什么人脸识别时一定要穿衣服?人脸识别会不会侵犯你的隐私权?为什么人脸识别时一定要穿衣服?人脸识别会不会侵犯你的隐私权?随着大数据和人工智能的发展,对于人脸识别,我们都不陌生,无论是在手机支付还是在身份验证上,人脸识别被大量应用,这一方面为