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

做网站总结作文发帖推广

做网站总结作文,发帖推广,dz论坛seo设置,com域名注册优惠目录 1.定时任务实现 2.quartz说明 3.存储方式 4.示例 5.定时任务的重新定制#xff0c;恢复#xff0c;暂停及删除 1.定时任务实现 定时任务的实现方式有很多#xff0c;如下#xff1a; 1.启动类中添加EnableScheduling#xff0c;开启定时任务功能#xff0c;然…目录 1.定时任务实现 2.quartz说明 3.存储方式 4.示例 5.定时任务的重新定制恢复暂停及删除 1.定时任务实现 定时任务的实现方式有很多如下 1.启动类中添加EnableScheduling开启定时任务功能然后通过注解的方式如 Scheduled(cron 0/1 * * * * ?)设置定时任务的执行方式定时任务要设置成一个spring容器的bean 2.通过第三方框架的方式如xxl-jobelastic-Job。 3.通过quartz方式第三方的框架也是基于quartz实现的。 2.quartz说明 quartz是完全有java开发的作业调度框架包含一下几个核心概念 (1)Scheduler 是quartz中的任务调度器通过trigger和jobdetail进行调度暂停和删除任务相当于一个容器装载着任务和触发器。Trigger 和 JobDetail 可以注册到 Scheduler 中两者在 Scheduler 中拥有各自的组及名称组及名称是 Scheduler 查找定位容器中某一对象的依据Trigger 的组及名称必须唯一JobDetail 的组和名称也必须唯一但可以和 Trigger 的组和名称相同因为它们是不同类型的。 (2)trigger Quartz 中的触发器是一个类描述触发 Job 执行的时间触发规则主要有 SimpleTrigger 和 CronTrigger 这两个子类。 (3)jobDetail Quartz 中需要执行的任务详情包括了任务的唯一标识和具体要执行的任务可以通过 JobDataMap 往任务中传递数据。 (4)job Quartz 中具体的任务包含了任务的具体实现逻辑。 (5)JobBuilder  用于创建一个任务实例也可以定义关于该任务的详情比如任务名、组名等这个声明的实例将会作为一个实际执行的任务。 (6)TriggerBuilder  触发器创建器用于创建触发器trigger实例。 (7)监听器组件 JobListener、TriggerListener、SchedulerListener监听器用于对组件的监听。 3.存储方式 (1)RAMJobStore 默认情况下 Quartz 会将任务调度存储在内存中这种方式性能是最好的因为内存的速度是最快的。不好的地方就是数据缺乏持久性但程序崩溃或者重新发布的时候所有运行信息都会丢失。 (2)数据库方式 存储数据库后可以做单点也可以做集群当任务多了之后可以统一进行管理随时停止、暂停、修改任务。 关闭或者重启服务器运行的信息都不会丢失。缺点就是运行速度快慢取决于连接数据库的快慢。 4.示例 (1)引入依赖 springboot项目可以直接引入下面依赖。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-quartz/artifactId/dependency 非springboot项目引入下面依赖当然springboot项目也可以使用此依赖 dependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz/artifactIdversion2.2.3/version /dependency (2)开发定时任务 package com.example.demo.job;import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean;/*** Author linaibo* Date 2023/11/17 16:52* Version 1.0*/ public class SimpleJob extends QuartzJobBean {Overrideprotected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {System.out.println(执行成功);} }定时任务继承QuartzJobBean并实现其方法。 (3)配置定时任务 package com.example.demo.config;import org.quartz.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order;/*** Author linaibo* Date 2023/11/17 16:54* Version 1.0*/ Configuration Order(2) public class QuartzConfig implements ApplicationRunner {Autowiredprivate Scheduler scheduler;Overridepublic void run(ApplicationArguments args) throws Exception {try{String cron 0/5 0/1 * * * ?;Class? extends Job jobClazz (Class? extends Job)Class.forName(com.example.demo.job.SimpleJob);JobDetail jobDetail JobBuilder.newJob(jobClazz).withIdentity(test).storeDurably().build();CronTrigger cronTrigger TriggerBuilder.newTrigger().withIdentity(test).startNow().withSchedule(CronScheduleBuilder.cronSchedule(cron)).build();scheduler.scheduleJob(jobDetail, cronTrigger);} catch (ClassNotFoundException e) {System.out.println(定时任务类路径出错请输入类的绝对路径);} catch (SchedulerException e) {System.out.println(创建定时任务出错);}} }这里使用ApplicationRunner简单说明一下 ApplicationRunner常用于项目启动后也就是ApringApplication.run()执行结束立马执行某些逻辑。可用于项目的准备工作比如加载配置文件加载执行流定时任务等等。 使用方式 实现ApplicationRunner接口重写run方法定义具体的执行逻辑 Order注解用于决定多个bean的执行顺序按照值从小到大执行 值可为负数 Order(-1)优先于Order(0) Order(1)优先于Order(2) 还有个接口也可以实现和ApplicationRunner一样的功能 CommandLineRunner CommandLineRunner接口的run方法接收的参数为String数组 创建配置文件实现ApplicationRunner接口实现run方法在方法中首先通过反射方式获取到要执行定时任务的类来创建jobdetail然后根据执行规则创建执行的触发器trigger再将jobdetail和trigger放到scheduler容器中按照规则进行任务的执行。 定时任务的全路径名称执行的触发器以及任务名称可以存放在数据库中并在前端追加可视化画面来进行修改删除及立即执行的功能。 定时任务的数据表可以自己设计也可以参照官网如下 初始化 Quartz 数据表 下载 Quartz 发布包Downloads 解压缩进入SQL脚本所在位置quartz-2.3.0-SNAPSHOT/src/org/quartz/impl/jdbcjobstore/tables_mysql_innodb.sql 导入 tables_mysql_innodb.sql 脚本文件。 5.定时任务的重新定制恢复暂停及删除 (1)重新定制 Service public class QuartzJobServiceImpl implements QuartzJobService {Autowiredprivate Scheduler scheduler;SneakyThrowsOverridepublic void rescheduleJob(String jobName, String jobGroupName, String cron) {TriggerKey triggerKey TriggerKey.triggerKey(jobName, jobGroupName);CronTrigger cronTrigger TriggerBuilder.newTrigger().withIdentity(triggerKey).startNow().withSchedule(CronScheduleBuilder.cronSchedule(cron)).build();scheduler.rescheduleJob(triggerKey, cronTrigger);}(2)恢复 Service public class QuartzJobServiceImpl implements QuartzJobService {Autowiredprivate Scheduler scheduler;SneakyThrowsOverridepublic void resumeJob(String jobName, String jobGroupName) {scheduler.resumeJob(JobKey.jobKey(jobName, jobGroupName));} }(3)暂停 Service public class QuartzJobServiceImpl implements QuartzJobService {Autowiredprivate Scheduler scheduler;SneakyThrowsOverridepublic void pauseJob(String jobName, String jobGroupName) {scheduler.pauseJob(JobKey.jobKey(jobName, jobGroupName));} }(4)删除 Service public class QuartzJobServiceImpl implements QuartzJobService {Autowiredprivate Scheduler scheduler;SneakyThrowsOverridepublic void deleteJob(String jobName, String jobGroupName) {scheduler.pauseTrigger(TriggerKey.triggerKey(jobName, jobGroupName));scheduler.unscheduleJob(TriggerKey.triggerKey(jobName, jobGroupName));scheduler.deleteJob(JobKey.jobKey(jobName, jobGroupName));} }参照 Spring Boot 集成 Quartz任务调度框架_springboot集成quartz_人人都在发奋的博客-CSDN博客 springboot整合quartz项目使用含完整代码_springboot quartz-CSDN博客
http://www.hkea.cn/news/14466893/

相关文章:

  • 小榄公司网站建设网站由哪些部分组成部分组成部分组成
  • 在线做图的网站网站建设方案doc
  • 网站建设ahxkj可以制作网站的软件是什么
  • 天华集团设计公司运营推广seo招聘
  • 做标书的视频网站wordpress改字体插件
  • 海门建设厅网站wordpress怎样获取文章分类的id
  • 陕西秦地建设有限公司网站论坛前端模板
  • 中铁建设集团华东分公司网站江西网站备案
  • 东莞网站建设+旅游软件界面设计与色彩搭配
  • 上海互联网网站建设国内优秀食品包装设计
  • 网络营销如何进行网站推广红酒营销 网站建设
  • 特步的网站建设策划手机静态网站开发制作
  • 电信备案网站打不开网站建设贰金手指下拉壹玖
  • jsp asp php哪个做网站网站建设免费建站免费源代码
  • 网站开发的毕业设计论文框架清远市专业网站制作
  • 单页展示网站wordpress分类文章数
  • wordpress m1 cms360搜索怎么做网站自然优化
  • 汕头网站建设托管延安做网站的公司电话
  • 公司网站建设及安全解决方案软文案例400字
  • 网站子目录是什么crm营销
  • 如何做网站登录界面松江外贸网站建设
  • 唐山房产网站建设wordpress怎么修改菜单栏关键词
  • apache 配置网站陕西网站备案代理
  • 一个人只做网站的流程昆明网站开发多少钱
  • 哪做网站比较便宜做好的网站如何上线
  • 天津网站建设icp备大连服务公司 网站
  • 韩国flash网站外卖网站怎么做
  • 精品资源共享课网站建设新浪博客
  • 如何修改wordpress站杭州最新消息
  • 电子商务网站建设方案书的总结三亚百度推广开户