珠宝行业网站建设生活馆网站开发背景

news/2025/9/23 15:15:35/文章来源:
珠宝行业网站建设,生活馆网站开发背景,泉州网站建设科技公司,制作h5页面的工具有哪些目录 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.mzph.cn/news/912954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搞笑椅子机房语录

抽象2025.9.23 (已知院长同学很爱唱“我要当主席”,此时正在唱校歌) 47:咋都开始唱校歌了 院长:我都当主席了还不能唱校歌了? 珂乌:还是当主席吧

在AI技术快速实现创意的时代,挖掘渗透测试框架新需求成为关键挑战

该篇文章无摘要a.内容描述核心功能定位:该项目是一个可扩展的后渗透测试和对抗仿真框架,采用服务器/客户端架构设计,主要面向专业渗透测试人员。服务器端采用Golang开发,客户端采用C++ QT框架实现跨平台支持。关键…

基于区域的空间域图像融合MATLAB实现

基于区域的空间域图像融合MATLAB实现,结合多尺度区域分割与特征加权策略一、方法原理区域分割 采用SLIC超像素分割算法将图像划分为均匀区域,每个区域包含约200-300个像素。 区域特征提取颜色特征:HSV空间均值 纹理…

网站seo自己怎么做什么是关键词

前言 对象图和包图依然是对系统的静态的描写叙述。UML九种图加上包图,事实上是十幅图。 包图 1.构成 2.包中的元素 类、接口、用例、构件、其他包等。(若包被撤销,当中的元素被撤销) 3.包之间的关系 泛化、细化、依赖(…

甘肃建设职工教育培训中心网站计算机网络设计是干什么的工作

文章目录 前言一、安装cudn二、安装cudnn三、安装pytorch 前言 确保Windows系统版本高于windows10 21H2或Windows11,然后在Windows中将显卡驱动升级到最新即可,WSL2已支持对显卡的直接调用。 一、安装cudn 进入英伟达官网中的cuda下载地址&#xff1…

怎么建造网站天津网站建设品牌推广

微软2024年1月的更新补丁正常更新会出现0x80070643错误,原因是正常安装系统默认的恢复分区留小了,通过压缩系统盘空间然后在diskgenius扩容恢复分区空间可以解决这个问题,但是笔者在进行上述操作时依旧出现了报错,按照网上的说法可…

intitle:律师网站建设的重要性做网站公司怎么样

为什么80%的码农都做不了架构师?>>> ##Win10除了Edge/IE,其他浏览器打开和载入速度都很慢 解决办法:以管理员身份运行cmd,输入netsh winsock reset重置winsock,然后重启电脑即可 转载于:https://my.oschin…

广州建设网站公司哪个济南兴田德润有活动吗做网站的图片=gif

Ajax-05 xhr(level-2)新特性 responseType属性和response属性 responseType: 表示预期服务器返回的数据的类型 “” ,默认空text,和空一样,表示服务器返回的数据是字符串格式json,表示服务器返回的是js…

网站登录 效果代码产品软文范例500字

如果没有正确的工具来汇总和解析日志数据,则几乎不可能找到并了解您正在寻找的信息。 日志有无穷无尽的用途,因为日志本身是无止境的。 应用程序日志,安全日志,BI日志, 林肯日志 (好吧,也许不是…

网站留白做301网站打不开

所有的NLP大模型 都是transformer结构 1.Mask attention 的策略不同 2.训练任务目标不同 国内大模型nb公司:百度、清华智谱 一、主流大模型 粉色:Encoder-only。 绿色:Encoder-Decoder,尽头智谱ChatGLM。 蓝色:…

梳理 | 脑神经科学原理学习资料整理

梳理 | 脑神经科学原理学习资料整理 前言 我想,我似乎一直都在试图探寻着什么,但在过去我甚至都不知道这一点 在近一年不断的在和AI交流的过程中我似乎渐渐地看清了自己的一点轮廓 【就像是最开始的这几篇甚至是在和…

如何做有效的Bug管理?

有效的Bug管理,就是让团队形成一种“对质量负责”的共识大家好,我是陈哥。 有读者留言说,他们团队老是因为反复出现同类Bug导致项目延期。 他们团队没有统一 Bug 记录渠道,测试人员一般发现问题口头告知或者汇总文…

深圳 赢客创想网络技术股份有限公司 网站建设网站建设和续费

前言 自动化测试中我们存放数据无非是使用文件或者数据库,那么文件可以是csv,xlsx,xml,甚至是txt文件,通常excel文件往往是我们的首选,无论是编写测试用例还是存放测试数据,excel都是很方便的。…

php网站开发专业介绍优化关键词的方法包括

日前,浪潮商用机器有限公司宣布,旗下K1 Power服务器系列产品经过几十项基础功能和高可用功能用例的专业测试,与腾讯新兴国产分布式数据库TDSQL完美兼容,且性能优异,可进行顺利的部署、平稳的运行及对外提供服务。此次互…

培训课程设计方案阿里巴巴网站的搜索引擎优化案例

文章目录 一.冯诺依曼体系结构1.1 为什么体系结构中要存在内存?1.2 冯诺依曼瓶颈 二.操作系统2.1 设计目的2.2 系统调用与库函数 一.冯诺依曼体系结构 冯诺依曼体系结构(Von Neumann Architecture)是计算机的基本设计理念之一,由…

站长做2个网站微山网站建设多少钱

步骤:首先选择标注工具,然后右键→Parameters,在弹出来的窗口中√上如下图二所示选项 最终要达到显示单位的效果的话,需要在Text项键入%v%u。 今天就记录到这里啦O

网站建设是怎么赚钱响应式网站 768 320

文章目录 前言是什么?如何使用适用场景优点和缺点兼容性后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:前端系列文章 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技…

孝仙洪高速公路建设指挥部网站基金网站建设

NPDP证书至2016年引进国内,考试人数就持续增长,不仅是新产品开发唯一 的职业证书,在产品管理这一领域的知名度也在前列,那么这个证书的作用在哪里呢? 想考npdp证书,npdp干货可下载: 1、就业范围…