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

水利工程建设信息网站俄罗斯搜索引擎yandex推广

水利工程建设信息网站,俄罗斯搜索引擎yandex推广,域名申请而完成以后怎么做网站,买域名和服务器做自己的网站提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pom的配置1.加注解 二、使用方法1.工程图2.创建工具类 三、controller 实现 前言 提示:这里可以添加本文要记录的大概内容: 提示&a…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、pom的配置
    • 1.加注解
  • 二、使用方法
    • 1.工程图
    • 2.创建工具类
  • 三、controller 实现


前言

提示:这里可以添加本文要记录的大概内容:

在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、pom的配置

 <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.3.2</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version></dependency>

1.加注解

@EnableScheduling
public class BusinessApplication {public static void main(String[] args) {SpringApplication.run(BusinessApplication.class, args);log.info("*********启动成功************");}}

二、使用方法

1.工程图

在这里插入图片描述

2.创建工具类

package com.juyuan.api.scheduled_tasks.pojo;import lombok.Data;@Data
public class QuartzBean {//任务名称private String jobID ;//执行任务类private String jobClass;//cron表达式private String cron;
}
package com.juyuan.api.scheduled_tasks.jop;import org.quartz.*;
import org.springframework.scheduling.quartz.QuartzJobBean;import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Date;public class SimpleTask extends QuartzJobBean {@Overrideprotected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException{JobDetail jobDetail = jobExecutionContext.getJobDetail();JobKey key = jobDetail.getKey();System. out.println("任务名称为:"+key.getName()+",执行时间为:"+ LocalDateTime.now());System.out.println("=======================添加数据===================================");}}
package com.juyuan.api.scheduled_tasks.utils;import com.juyuan.api.scheduled_tasks.pojo.QuartzBean;
import org.quartz.*;
import org.quartz.impl.matchers.GroupMatcher;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;public class QuartzUtils {/**创建定时任务*@param scheduler 调度器*@param quartzBean 定时任务信息类*/@Beanpublic static void createScheduleJob(Scheduler scheduler, QuartzBean quartzBean){try {Class<? extends Job> aClass = (Class<? extends Job>) Class.forName(quartzBean.getJobClass());JobDetail build = JobBuilder.newJob(aClass).withIdentity(quartzBean.getJobID()).build();//表达式调度构建器CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(quartzBean.getCron());//按新的cronExpression表达式构建一个新的triggerCronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(quartzBean.getJobID()).withSchedule(cronScheduleBuilder).build();scheduler.scheduleJob(build,trigger);} catch (ClassNotFoundException | SchedulerException e) {throw new RuntimeException(e);}}/*根据任务恢复定时任务@param scheduler 调度器任务名称* param jobName*/public static void resumeScheduleJob(Scheduler scheduler, String jobName) {JobKey jobKey = JobKey.jobKey(jobName);try {scheduler.resumeJob(jobKey);} catch (SchedulerException e) {throw new RuntimeException("恢复定时任务失败" + e.getMessage());}}/*** 暂停定时任务*/public static void pauseScheduleJob(Scheduler scheduler, String jobName) {JobKey jobKey = JobKey.jobKey(jobName);try {scheduler.pauseJob(jobKey);} catch (SchedulerException e) {throw new RuntimeException("暂停定时任务失败" + e.getMessage());}}/*** 立即执行定时任务*/public static void runScheduleJob(Scheduler scheduler, String jobName) {JobKey jobKey = JobKey.jobKey(jobName);try {scheduler.triggerJob(jobKey);} catch (SchedulerException e) {throw new RuntimeException("立即执行定时任务失败" + e.getMessage());}}/*** 删除定时任务*/public static void deleteScheduleJob(Scheduler scheduler, String jobName) {JobKey jobKey = JobKey.jobKey(jobName);try {scheduler.deleteJob(jobKey);} catch (SchedulerException e) {throw new RuntimeException("删除定时任务失败" + e.getMessage());}}/*** 获取所有定时任务** @param scheduler 调度器* @return 返回所有定时任务列表*/public static List<JobDetail> getAllScheduleJob(Scheduler scheduler) {try {// 获取所有的JobKeysSet<JobKey> jobKeys = scheduler.getJobKeys(GroupMatcher.anyGroup());// 创建一个列表来存储所有的JobDetail对象List<JobDetail> jobDetails = new ArrayList<>();// 遍历每个JobKey,获取对应的JobDetailfor (JobKey jobKey : jobKeys) {JobDetail jobDetail = scheduler.getJobDetail(jobKey);jobDetails.add(jobDetail);}// 现在,jobDetails列表包含了所有的JobDetail对象// 您可以在这里对这些对象进行处理return jobDetails;} catch (SchedulerException e) {throw new RuntimeException("获取所有定时任务失败" + e.getMessage());}}/*** 获取所有正在运行的定时任务** @param scheduler 调度器* @return 返回所有正在运行的定时任务列表*/public static List<JobDetail> getRunningScheduleJob(Scheduler scheduler) {try {List<JobExecutionContext> executingJobs = scheduler.getCurrentlyExecutingJobs();List<JobDetail> jobDetails = new ArrayList<>();for (JobExecutionContext executingJob : executingJobs) {JobDetail jobDetail = executingJob.getJobDetail();jobDetails.add(jobDetail);}return jobDetails;} catch (SchedulerException e) {throw new RuntimeException("获取所有正在运行的定时任务失败" + e.getMessage());}}/*** 修改定时任务* @param scheduler 调度器*/public static void updateScheduleJob(Scheduler scheduler, QuartzBean quartzBean) {//获取对应的jobKeyTriggerKey triggerKey = TriggerKey.triggerKey(quartzBean.getJobID());//获取执行定时任务的执行方式CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(quartzBean.getCron());try {//按新的cronExpression表达式重新构建triggerCronTrigger character= (CronTrigger)scheduler.getTrigger(triggerKey);character = character.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build();//按新的trigger重新设置job执行scheduler.rescheduleJob(triggerKey, character);} catch (SchedulerException e) {throw new RuntimeException(e);}}}

三、controller 实现

package com.juyuan.api.scheduled_tasks.controller;import com.juyuan.api.park_enterprise_public_construction.entity.ActionPlan;
import com.juyuan.api.park_enterprise_public_construction.service.ActionPlanService;
import com.juyuan.api.scheduled_tasks.pojo.QuartzBean;
import com.juyuan.api.scheduled_tasks.utils.QuartzUtils;import com.juyuan.framework.common.constants.WebConstant;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
public class QuartzBeanController {private final String PATH = WebConstant.API_PATH + "/quartz/";@Autowiredprivate Scheduler scheduler;@Autowiredprivate ActionPlanService actionPlanService;//新增执行定时任务@GetMapping(value = PATH + "add")public void add() {List<ActionPlan> list = actionPlanService.list();for (ActionPlan actionPlan : list) {QuartzBean quartzBean = new QuartzBean();quartzBean.setJobID(actionPlan.getId());quartzBean.setJobClass("com.juyuan.api.scheduled_tasks.jop.SimpleTask");quartzBean.setCron(actionPlan.getFrequency());QuartzUtils.createScheduleJob(scheduler,quartzBean);}}//暂停执行定时任务@GetMapping(value = PATH + "pause")public void pause() {QuartzUtils.pauseScheduleJob(scheduler,"2");}//恢复执行定时任务@GetMapping(value = PATH + "resume")public void resume() {QuartzUtils.resumeScheduleJob(scheduler,"1");}//删除执行定时任务@GetMapping(value = PATH + "delete")public void delete() {QuartzUtils.deleteScheduleJob(scheduler,"2");}//立即执行定时任务@GetMapping(value = PATH + "run")public void run() {QuartzUtils.runScheduleJob(scheduler,"2");}//获取所有定时任务// 获取所有定时任务的接口@GetMapping(value = PATH + "queryAll")public void queryAll() {// 获取所有定时任务列表List<JobDetail> allScheduleJob = QuartzUtils.getAllScheduleJob(scheduler);// 遍历所有定时任务allScheduleJob.forEach(jobDetail -> {// 打印任务名称System.out.println(jobDetail.getKey().getName());// 打印任务组名// System.out.println(jobDetail.getKey().getGroup());// 打印任务描述// System.out.println(jobDetail.getDescription());// 打印任务类名// System.out.println(jobDetail.getJobClass());// 打印任务数据映射// System.out.println(jobDetail.getJobDataMap());});}//修改执行定时任务@GetMapping(value = PATH + "update")public void update() {QuartzBean quartzBean = new QuartzBean();quartzBean.setCron("0/5 * * * *?");quartzBean.setJobID("2");QuartzUtils.updateScheduleJob(scheduler,quartzBean);}}
http://www.hkea.cn/news/823159/

相关文章:

  • 团购的网站扣佣金分录怎么做厦门百度竞价
  • 国家疫情最新政策麒麟seo外推软件
  • 河南第二波疫情最新消息淘宝关键词优化技巧教程
  • 优化好的网站做企业网站百度代理公司
  • 外贸b2c网站如何做推广百度电话人工服务
  • 百度怎样做网站并宣传网站2023上海又出现疫情了
  • wordpress后台登录慢阳山网站seo
  • 深圳网站建设企网络推广运营途径
  • 给自己女朋友做的网站yandex搜索引擎
  • 购物网站建设教程怎么在网上做广告宣传
  • 冠县做网站推广网站怎么制作
  • 开封 网站建设苹果被曝开发搜索引擎对标谷歌
  • 东莞虎门高铁站百度客户端电脑版下载
  • 建网站怎么挣钱的学seo推广
  • 自如网站做的好 服务哪个网站学seo是免费的
  • 国外网站阻止国内访问怎么做竞价推广工具
  • 建设一个网站需要哪些方面的开支百度人工客服
  • 品牌网站建设-建站之路最新疫情新闻100字
  • 东莞网站优化科技有限公司怀柔网站整站优化公司
  • 郑州网站建设联系方式外链是什么意思
  • 用wordpress做网站教程电脑优化大师有用吗
  • 佛山企业网站制作今日热点新闻事件
  • 企业网站网络推广黑帽seo培训
  • 欧美做的爱爱网站有哪些广告推广赚钱
  • 泉州网站建设工作室谷歌seo价格
  • 国建设委员会网站百度推广一天烧几千
  • 做网站 花园路国贸营销推广方案包括哪些内容
  • 做商城网站哪里买口碑营销属于什么营销
  • 鞋子 东莞网站建设真正的免费建站在这里
  • 网站上微信的链接怎么做项目平台