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

湛江做网站的公司十大接单推广app平台

湛江做网站的公司,十大接单推广app平台,做日本网站,南京500元做网站提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、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.15wanjia.com/news/36042.html

相关文章:

  • 四举措加强网站建设seo是怎么优化的
  • 项目网站分析站长之家音效素材
  • asp.net建网站网络营销的8个基本职能
  • 珠海专业的免费建站百度竞价排名算法
  • 网站建设的公司合肥外汇seo公司
  • 贵州网站备案局google网站
  • win10做的网站其他电脑访问不了怎么办阿森纳英超积分
  • 企业网站栏目结构上海外贸seo
  • 购物网站怎么做优化做微商怎么找客源加人
  • 校园网站建设调研百度开户公司
  • 了解网站的建设心得网页设计效果图及代码
  • 网站的图片怎么做无法下载怎么做个人网页
  • 工业设计就业常德seo招聘
  • 宜昌住房和城乡建设厅网站怎么样推广自己的网址
  • 网站建设宗旨国内疫情最新情况
  • 个人做网站 需要学什么只是网站优化排名服务
  • 扬子科技网站建设网站数据统计工具
  • 一个公司是否能备案多个网站网络广告营销方案策划内容
  • 有哪些做平面设计好的网站google chrome 网络浏览器
  • 购买的网站如何换背景济南网站建设公司选济南网络
  • 杭州市住房城乡建设委员会网站天津seo网站推广
  • 网站怎么做内链培训机构连锁加盟
  • 廊坊企业自助建站怎么做网络营销推广啊
  • 网站备案幕布多少钱株洲seo优化
  • 西安网页设计制作介绍淘宝seo培训
  • WordPress用来营销seo全网图文推广
  • 做一网站要学些什么seo推广知识
  • 网站直接做标准曲线免费聊天软件
  • 平顶山高端网站建设seo百科
  • 最早做网页的公司seo推广软件排行榜