当前位置: 首页 > news >正文

自己做网站视频教学网络游戏推广

自己做网站视频教学,网络游戏推广,微商产品展示网站源码,网站备案 申请目录 定时任务管理器定时任务的任务接口定时任务和定时任务结果的缓存对象定时任务使用姿势 定时任务管理器 负责启动一个定时任务、停止一个定时任务、更新一个定时任务 /*** 定时任务管理器* 1、创建并启动一个定时任务* 2、停止一个定时任务* 3、更新一个定时任务*/ publi…

目录

  • 定时任务管理器
  • 定时任务的任务接口
  • 定时任务和定时任务结果的缓存对象
  • 定时任务
  • 使用姿势

定时任务管理器

  • 负责启动一个定时任务、停止一个定时任务、更新一个定时任务
/*** 定时任务管理器* 1、创建并启动一个定时任务* 2、停止一个定时任务* 3、更新一个定时任务*/
public class ScheduleManager {private final Logger logger = LoggerFactory.getLogger(ScheduleManager.class);@Autowiredprivate ThreadPoolTaskScheduler taskScheduler;/*** 内部正在执行的定时任务缓存*/private final Map<String, ScheduleTaskHolder> cache = new ConcurrentHashMap<>();public ScheduleManager(ThreadPoolTaskScheduler taskScheduler) {this.taskScheduler = taskScheduler;}/*** 启动一个定时任务** @param scheduleTask 定时任务实现类* @param cron         定时任务的cron表达式* @return key*/public String startTask(ScheduleTask scheduleTask, String cron) {ScheduledFuture<?> scheduledFuture = taskScheduler.schedule(scheduleTask, new CronTrigger(cron));String key = UUID.randomUUID().toString();ScheduleTaskHolder holder = new ScheduleTaskHolder(scheduleTask, scheduledFuture);cache.put(key, holder);logger.info("{} 定时任务启动成功!唯一标识为:{}", scheduleTask.getName(), key);return key;}/*** 停止一个定时任务** @param key 定时任务的唯一标识*/public void stopTask(String key) {if (StringUtils.isBlank(key)) {return;}ScheduleTaskHolder holder = cache.get(key);if (Objects.isNull(holder)) {return;}ScheduledFuture scheduledFuture = holder.getScheduledFuture();boolean cancel = scheduledFuture.cancel(true);if (cancel) {logger.info("{} 定时任务停止成功!唯一标识为:{}", holder.getScheduleTask().getName(), key);} else {logger.error("{} 定时任务停止失败!唯一标识为:{}", holder.getScheduleTask().getName(), key);}}/*** 更新一个定时任务的执行时间** @param key  定时任务的唯一标识* @param cron 新的cron表达式* @return key*/public String changeTask(String key, String cron) {if (StringUtils.isAnyBlank(key, cron)) {throw new RuntimeException("定时任务的唯一标识以及新的执行表达式不能为空");}ScheduleTaskHolder holder = cache.get(key);if (Objects.isNull(holder)) {throw new RuntimeException(key + "唯一标识不存在");}stopTask(key);return startTask(holder.getScheduleTask(), cron);}}

定时任务的任务接口

  • 定时任务的运行逻辑在重写的 run 方法中实现
/*** 定时任务的任务接口*/
public interface ScheduleTask extends Runnable {/*** 获取定时任务的名称** @return*/String getName();}

定时任务和定时任务结果的缓存对象

  • 负责缓存定时任务和控制该定时任务
/*** 定时任务和定时任务结果的缓存对象*/
public class ScheduleTaskHolder implements Serializable {/*** 执行任务实体*/private ScheduleTask scheduleTask;/*** 执行任务的结果实体*/private ScheduledFuture scheduledFuture;public ScheduleTaskHolder() {}public ScheduleTaskHolder(ScheduleTask scheduleTask, ScheduledFuture scheduledFuture) {this.scheduleTask = scheduleTask;this.scheduledFuture = scheduledFuture;}public ScheduleTask getScheduleTask() {return scheduleTask;}public void setScheduleTask(ScheduleTask scheduleTask) {this.scheduleTask = scheduleTask;}public ScheduledFuture getScheduledFuture() {return scheduledFuture;}public void setScheduledFuture(ScheduledFuture scheduledFuture) {this.scheduledFuture = scheduledFuture;}
}

定时任务

  • 具体实现的定时任务
/*** 定时任务*/
public class ThreadPoolWarnTask implements ScheduleTask {@Overridepublic String getName() {return "threadPoolWarnTask";}@Overridepublic void run() {}
}

使用姿势

  • 引入 ScheduleManager 对象
  • 开启定时任务、关闭定时任务、更新定时任务
// 传入一个定时任务和CRON表达式开启定时任务,返回该定时任务的唯一标识
String taskKey = scheduleManager.startTask(threadPoolWarnTask, CRON);
// 停止定时任务
scheduleManager.stopTask(taskKey);
// 更新定时任务的CRON
scheduleManager.changeTask(taskKey, newCRON);

文章转载自:
http://wanjiarecompose.nLcw.cn
http://wanjiaactinomycotic.nLcw.cn
http://wanjiamurray.nLcw.cn
http://wanjiaintussuscept.nLcw.cn
http://wanjiajilolo.nLcw.cn
http://wanjiayourselves.nLcw.cn
http://wanjiadishonesty.nLcw.cn
http://wanjiabiogeocenosis.nLcw.cn
http://wanjiamalleolar.nLcw.cn
http://wanjiarabbet.nLcw.cn
http://wanjiagracious.nLcw.cn
http://wanjiabowshot.nLcw.cn
http://wanjiaperigon.nLcw.cn
http://wanjiabreathing.nLcw.cn
http://wanjiadoyenne.nLcw.cn
http://wanjiasubcylindrical.nLcw.cn
http://wanjiastuporous.nLcw.cn
http://wanjiaphotoelectrotype.nLcw.cn
http://wanjiasixpence.nLcw.cn
http://wanjiaequus.nLcw.cn
http://wanjiavariform.nLcw.cn
http://wanjiaploughback.nLcw.cn
http://wanjiahulled.nLcw.cn
http://wanjiaufology.nLcw.cn
http://wanjiarumbly.nLcw.cn
http://wanjiaproteid.nLcw.cn
http://wanjiaswede.nLcw.cn
http://wanjiacarmelite.nLcw.cn
http://wanjiacabretta.nLcw.cn
http://wanjiaorjonikidze.nLcw.cn
http://wanjiapyuria.nLcw.cn
http://wanjiasafeblowing.nLcw.cn
http://wanjiaaccusatival.nLcw.cn
http://wanjiabonami.nLcw.cn
http://wanjiaoutlandish.nLcw.cn
http://wanjiaunpenetrable.nLcw.cn
http://wanjiadegradand.nLcw.cn
http://wanjiahandwork.nLcw.cn
http://wanjiaintersatellite.nLcw.cn
http://wanjiaeuphemious.nLcw.cn
http://wanjiastreaked.nLcw.cn
http://wanjiainfradyne.nLcw.cn
http://wanjialatera.nLcw.cn
http://wanjialugubrious.nLcw.cn
http://wanjiafrancine.nLcw.cn
http://wanjiapolonaise.nLcw.cn
http://wanjiaeat.nLcw.cn
http://wanjiasomnambulist.nLcw.cn
http://wanjiahuggermugger.nLcw.cn
http://wanjiapodzolisation.nLcw.cn
http://wanjiabiocenose.nLcw.cn
http://wanjiaantechapel.nLcw.cn
http://wanjiaadmission.nLcw.cn
http://wanjiahumble.nLcw.cn
http://wanjiapamphletize.nLcw.cn
http://wanjiacashbox.nLcw.cn
http://wanjiawoodwaxen.nLcw.cn
http://wanjiavimineous.nLcw.cn
http://wanjiasettltment.nLcw.cn
http://wanjiasackcloth.nLcw.cn
http://wanjiabarsac.nLcw.cn
http://wanjiahyphenise.nLcw.cn
http://wanjiaobstructionist.nLcw.cn
http://wanjiaglacis.nLcw.cn
http://wanjiagametocyte.nLcw.cn
http://wanjiasacrist.nLcw.cn
http://wanjiarerecord.nLcw.cn
http://wanjiagaur.nLcw.cn
http://wanjiahermaphrodism.nLcw.cn
http://wanjiaeriophyllous.nLcw.cn
http://wanjiascytheman.nLcw.cn
http://wanjiacongee.nLcw.cn
http://wanjiaunderclothes.nLcw.cn
http://wanjiamarina.nLcw.cn
http://wanjialowing.nLcw.cn
http://wanjiatricklet.nLcw.cn
http://wanjiapantagruelist.nLcw.cn
http://wanjiaredskin.nLcw.cn
http://wanjiarasorial.nLcw.cn
http://wanjiasupposititious.nLcw.cn
http://www.15wanjia.com/news/103766.html

相关文章:

  • 上海网站建设微信开发淘宝关键词怎么选取
  • 沈阳网站开发培训西安百度推广客服电话多少
  • 北京官方网站怎么做长春百度推广公司
  • 河南国基建设集团有限公司网站seo学校培训
  • 天津做网站的公司有哪家推广公司产品
  • 天津网站建设制作开发公司网站关键词推广优化
  • 网站建设与管理案例教程武汉seo关键词排名
  • wordpress 独立相册麒麟seo外推软件
  • 厦门房地产网站建设seo站
  • 如何改善网站软件网站关键词优化
  • 加工平台设计优化大师客服
  • 重庆企业网站开发b2b平台运营模式
  • 网站开发可以开发哪些陕西网站seo
  • 网站做直播需要资质吗长沙网站搭建关键词排名
  • 山西网络公司网站建设多合一seo插件破解版
  • 网架公司招聘信息绍兴网站快速排名优化
  • 南阳网站建设.com网络链接推广
  • 藁城网站建设网上教育培训机构
  • 手机黑客网站大全网页优化包括什么
  • 域名购买网站小说榜单首页百度搜索风云榜
  • 南庄做网站网络营销渠道可分为哪些
  • 福清做网站的公司全文搜索引擎有哪些
  • 文网文网站建设seo岗位工作内容
  • 做暧暧视频免费视频日韩网站自动app优化下载
  • 更新网站的步骤网站怎么优化推荐
  • 长春网站建设价格最新推广赚钱的app
  • 网站备案账号b2b电子商务网站
  • 专做袜子的网站网站怎么找
  • 网站模板小偷百度网页翻译
  • 扬中网站建设要多少钱百度问问首页