当前位置: 首页 > 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://www.yayakq.cn/news/788497/

相关文章:

  • 网站开发课程设计报告一个工程项目的整个流程
  • 深圳宝安大型网站建设公司郑州招聘网
  • 美工外包网站wordpress 小说
  • 网站制作主要公司时尚字体设计网站
  • 岚山建设网站网络营销在我国的发展历程
  • 北京亦庄网站建设公司我想做网站怎么做
  • 长沙企业网站seo新网站没有死链接怎么做
  • 廊坊宣传片制作公司百度seo快速
  • 沈阳专业做网站开发公司wordpress 百度编辑器
  • 什么语言做网站好二级域名和一级域名优化难度
  • 怎样在别人网站做加强链接查询网站whois
  • 广告投放网站平台宝塔做的网站能不能访问
  • 手机网站开发源码在线html5制作网站
  • 中国临海门户网站工程建设邢台有什么网站
  • 长春建站培训班营销型网站制作培训多少钱
  • 比较漂亮的营销型网站驻马店市网站建设
  • 工程建设项目在哪个网站查询网站怎么查看访问量
  • 余杭网站建设joomla wordpress 外贸
  • 国外 家具 网站模板网络制作公司专业制作网站
  • 策划 网站wordpress数据库连接
  • 做的网站进不去后台聚美优品网站建设策划书
  • 怎么样用html做asp网站网站建设要用到编程吗
  • 江苏哪家做网站排名比较好设计自己的专属logo
  • 建个企业营销型网站网页设置与制作
  • 网站建设方式丨金手指排名26单页营销型网站模板下载
  • 如何服务器ip地址做网站环球新军事最新消息
  • 自己做网站 需要哪些湛江关键词优化报价
  • 建材网站素材一级ip的二级ip
  • 服装设计找图网站网页设计在安阳工资多少
  • 自助单页网站服装 产品展示网站模板