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

西直门网站建设打不开wordpress

西直门网站建设,打不开wordpress,营销软件哪个好,汕头模板做网站springboot整合quartz#xff0c;实现数据库方式执行定时任务。把定时任务信息存进数据库#xff0c;项目启动后自动执行定时任务。 1.引入依赖包#xff1a; dependency groupIdorg.springframework.boot/groupId ar…springboot整合quartz实现数据库方式执行定时任务。把定时任务信息存进数据库项目启动后自动执行定时任务。 1.引入依赖包 dependency             groupIdorg.springframework.boot/groupId             artifactIdspring-boot-starter-quartz/artifactId         /dependency 2.配置yml spring:   # quartz   quartz:     #相关属性配置     properties:       org:         quartz:           scheduler:             instanceName: DefaultQuartzScheduler             instanceId: AUTO           jobStore:             class: org.quartz.impl.jdbcjobstore.JobStoreTX             driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate             tablePrefix: QRTZ_             isClustered: false             clusterCheckinInterval: 10000             #以指示JDBCJobStore将JobDataMaps中的所有值都作为字符串因此可以作为名称             #- 值对存储而不是在BLOB列中以其序列化形式存储更多复杂的对象。             #从长远来看这是更安全的因为您避免了将非String类序列化为BLOB的类版本问题。             useProperties: false           threadPool:             class: org.quartz.simpl.SimpleThreadPool             threadCount: 10             threadPriority: 5             threadsInheritContextClassLoaderOfInitializingThread: true       # 数据库方式     job-store-type: jdbc     datasource:     username: root     password: 123456     url: jdbc:mysql://localhost:3306/quartz_test?useUnicodetruecharacterEncodingutf-8useSSLtrueserverTimezoneUTC     driver-class-name: com.mysql.cj.jdbc.Driver   server:   port: 8080 3.后端编码 controller层 Controller RequestMapping(value /job) Slf4j public class JobController {       Autowired     private IJobService jobService;           PostMapping(value /add)     ResponseBody     public Result addJob(RequestBody JobInfo jobInfo) {         return jobService.addJob(jobInfo);     }       GetMapping(value /getAllJobs)     ResponseBody     public ListJobInfo getAllJobs() {         return jobService.getAllJobs();     }       PostMapping(value /pause)     ResponseBody     public Result pauseJob(String name, String group) {         return jobService.pauseJob(name,group) ? Result.success() : Result.error();     }       PostMapping(value /resume)     ResponseBody     public Result resumeJob(String name, String group) {         return jobService.resumeJob(name,group) ? Result.success() : Result.error();     }       PostMapping(value /reschedule)     ResponseBody     public Result reScheduleJob(String name, String group, String cron) {         return jobService.reScheduleJob(name, group, cron) ? Result.success() : Result.error();     }       PostMapping(value /delete)     ResponseBody     public Result deleteJob(String name, String group) {         return jobService.deleteJob(name,group) ? Result.success() : Result.error();     }       /**      * description 校验是否是合法cron表达式      * param  cron      * return  com.cxh.cxhquartz.common.Result      **/     PostMapping(value /checkCron)     ResponseBody     public Result checkCron(String cron) {         boolean valide false;         try {             valide CronExpression.isValidExpression(cron);         }catch (Exception e){             log.error(e.getMessage());         }         return valide ? Result.success() : Result.error();     } } service层 public interface IJobService {       /**      * description 查询所有任务      * param      * return  java.util.Listcom.cxh.cxhquartz.quartz.JobInfo      **/      ListJobInfo getAllJobs();     /**      * description 恢复任务      * param  jobName      * Param  jobGroup      * return  boolean      **/      boolean resumeJob(String jobName,String jobGroup);     /**      * description 停止任务      * param  jobName      * Param  jobGroup      * return  boolean      **/      boolean pauseJob(String jobName,String jobGroup);     /**      * description 修改任务执行周期表达式      * param  jobName      * Param  jobGroup      * Param  cronExpression      * return  boolean      **/      boolean reScheduleJob(String jobName,String jobGroup,String cronExpression);     /**      * description 删除任务      * param  jobName      * Param  jobGroup      * return  boolean      **/      boolean deleteJob(String jobName,String jobGroup);     /**      * description 新增任务      * param  jobInfo      * return  int      **/     Result addJob(JobInfo jobInfo);      /**       * description 判断任务是否存在       * param  jobKey       * return  int       **/      int isJobExist(JobKey jobKey); } Slf4j Service public class JobServiceImpl implements IJobService {       Autowired     private Scheduler scheduler;       Override     public ListJobInfo getAllJobs() {         ListJobInfo jobInfoList new ArrayList();         try{             ListString groupList scheduler.getJobGroupNames();             for(String group : groupList){                 GroupMatcherJobKey groupMatcher GroupMatcher.groupEquals(group);                 SetJobKey jobKeySet scheduler.getJobKeys(groupMatcher);                 for(JobKey jobKey : jobKeySet){                     JobInfo jobInfo new JobInfo();                     JobDetail jobDetail scheduler.getJobDetail(jobKey);                     jobInfo.setJobname(jobKey.getName());                     jobInfo.setJobgroup(jobKey.getGroup());                     jobInfo.setJobclassname(jobDetail.getJobClass().getName());                     Trigger trigger scheduler.getTrigger(TriggerKey.triggerKey(jobKey.getName(), jobKey.getGroup()));                     if(trigger ! null){                         Trigger.TriggerState state scheduler.getTriggerState(TriggerKey.triggerKey(jobKey.getName(), jobKey.getGroup()));                         jobInfo.setTriggername(jobKey.getName());                         jobInfo.setTriggergroup(jobKey.getGroup());                         try{                             CronTrigger cronTrigger (CronTrigger) trigger;                             jobInfo.setCronexpression(cronTrigger.getCronExpression());                         } catch (Exception e){                             log.error(e.getMessage());                         }                         if(trigger.getNextFireTime() ! null){                             SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);                             jobInfo.setNextfiretime(sdf.format(trigger.getNextFireTime()));                         }                         jobInfo.setDescription(jobDetail.getDescription());                         jobInfo.setState(state.name());                         jobInfo.setId(UUID.randomUUID().toString());                         jobInfoList.add(jobInfo);                     } else {                         jobInfo.setState(OVER);                         jobInfo.setId(UUID.randomUUID().toString());                         jobInfoList.add(jobInfo);                     }                 }             }         } catch (Exception e){             log.error(e.getMessage());         }         return jobInfoList;     }       Override     public boolean resumeJob(String jobName, String jobGroup) {         boolean flag true;         try{             scheduler.resumeJob(JobKey.jobKey(jobName, jobGroup));         } catch (Exception e){             flag false;             log.error(e.getMessage());         }         return flag;     }       Override     public boolean pauseJob(String jobName, String jobGroup) {         boolean flag true;         try{             scheduler.pauseJob(JobKey.jobKey(jobName, jobGroup));         } catch (Exception e){             flag false;             log.error(e.getMessage());         }         return flag;     }       Override     public boolean reScheduleJob(String jobName, String jobGroup, String cronExpression) {         boolean flag true;         try{            Trigger.TriggerState state scheduler.getTriggerState(TriggerKey.triggerKey(jobName, jobGroup));            CronTrigger cronTrigger (CronTrigger) scheduler.getTrigger(TriggerKey.triggerKey(jobName, jobGroup));            if(cronTrigger ! null cronExpression ! null !cronTrigger.getCronExpression().equals(cronExpression)){                CronTrigger cronTriggerNew TriggerBuilder.newTrigger().withIdentity(jobName, jobGroup).withSchedule(CronScheduleBuilder.cronSchedule(cronExpression)).build();                scheduler.rescheduleJob(TriggerKey.triggerKey(jobName, jobGroup), cronTriggerNew);                if(state.name().equals(PAUSED)){                    this.pauseJob(jobName, jobGroup);                }            }         } catch (Exception e){             flag false;             log.error(e.getMessage());         }         return flag;     }       Override     public boolean deleteJob(String jobName, String jobGroup) {         boolean flag true;         try{             List? extends Trigger triggerList scheduler.getTriggersOfJob(JobKey.jobKey(jobName, jobGroup));             if(triggerList.size() 0){                 if(!PAUSED.equals(scheduler.getTriggerState(TriggerKey.triggerKey(jobName, jobGroup)).name())){                     scheduler.pauseTrigger(TriggerKey.triggerKey(jobName, jobGroup));                 }                 scheduler.unscheduleJob(TriggerKey.triggerKey(jobName, jobGroup));             }             scheduler.deleteJob(JobKey.jobKey(jobName, jobGroup));         } catch (Exception e){             flag false;             log.error(e.getMessage());         }         return flag;     }       Override     public Result addJob(JobInfo jobInfo) {         int isJobExist this.isJobExist(JobKey.jobKey(jobInfo.getJobname(), jobInfo.getJobgroup()));         if(isJobExist 1){             return Result.error(任务已存在);         }         try{             JobDetail jobDetail null;             if(isJobExist 0){                 jobDetail scheduler.getJobDetail(JobKey.jobKey(jobInfo.getJobname(), jobInfo.getJobgroup()));             } else if(isJobExist -1){                 jobDetail JobBuilder.newJob(                         (Class? extends Job) Class.forName(jobInfo.getJobclassname()))                         .withIdentity(jobInfo.getJobname(), jobInfo.getJobgroup())                         .withDescription(jobInfo.getDescription())                         .storeDurably().build();             }             //如果jobInfo的cron表达式为空则创建常规任务反之创建周期任务             if(jobInfo.getCronexpression() ! null){                 CronTrigger cronTrigger TriggerBuilder.newTrigger().withIdentity(jobInfo.getTriggername(), jobInfo.getTriggergroup())                         .withSchedule(CronScheduleBuilder.cronSchedule(jobInfo.getCronexpression()))                         .build();                 scheduler.scheduleJob(jobDetail, cronTrigger);               } else {                 SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);                 Trigger trigger TriggerBuilder.newTrigger().withIdentity(jobInfo.getJobname(), jobInfo.getJobgroup())                         .startAt(sdf.parse(jobInfo.getNextfiretime()))                         .withSchedule(SimpleScheduleBuilder.simpleSchedule().withRepeatCount(0))                         .build();                 scheduler.scheduleJob(jobDetail, trigger);             }         } catch (SchedulerException e){             log.error(e.getMessage());             return Result.error(添加任务失败);         } catch (ParseException e){             log.error(e.getMessage());             return Result.error(时间转换出错);         } catch (Exception e){             log.error(e.getMessage());             return Result.error(e.getMessage());         }         return Result.success(添加任务成功);     }       Override     public int isJobExist(JobKey jobKey) {        int flag -1;        try{            JobDetail jobDetail scheduler.getJobDetail(jobKey);            List? extends  Trigger triggers scheduler.getTriggersOfJob(jobKey);            if(jobDetail ! null triggers.size() 0){                flag 1;            } else if(jobDetail ! null triggers.size() 0){                 flag 0;            }        } catch (Exception e){            flag -1;            log.error(e.getMessage());        }        return flag;     } } entity层 Data public class JobInfo implements Serializable {     private String id;     private String jobname;     private String jobgroup;     private String jobclassname;     private String triggername;     private String triggergroup;     private String cronexpression;     private String description;     private String prefiretime;     private String nextfiretime;     private String state; } 定时任务 Slf4j public class DemoJob implements Job {     Override     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {         JobDetail jobDetail jobExecutionContext.getJobDetail();         log.info(任务名 jobDetail.getKey().getName() ,组名                 jobDetail.getKey().getGroup() ------执行的定时任务工作内容);     } } 4.创建数据库表quartz保存定时任务信息表 5.运行项目打开postman发起请求 6.运行结果
文章转载自:
http://www.morning.zsrjn.cn.gov.cn.zsrjn.cn
http://www.morning.ljdd.cn.gov.cn.ljdd.cn
http://www.morning.lmnbp.cn.gov.cn.lmnbp.cn
http://www.morning.yckwt.cn.gov.cn.yckwt.cn
http://www.morning.nyplp.cn.gov.cn.nyplp.cn
http://www.morning.gpkjx.cn.gov.cn.gpkjx.cn
http://www.morning.bqxxq.cn.gov.cn.bqxxq.cn
http://www.morning.gcszn.cn.gov.cn.gcszn.cn
http://www.morning.c7630.cn.gov.cn.c7630.cn
http://www.morning.lyzwdt.com.gov.cn.lyzwdt.com
http://www.morning.ymwrs.cn.gov.cn.ymwrs.cn
http://www.morning.lzqnj.cn.gov.cn.lzqnj.cn
http://www.morning.dcdhj.cn.gov.cn.dcdhj.cn
http://www.morning.sfmqm.cn.gov.cn.sfmqm.cn
http://www.morning.chjnb.cn.gov.cn.chjnb.cn
http://www.morning.fcwb.cn.gov.cn.fcwb.cn
http://www.morning.ey3h2d.cn.gov.cn.ey3h2d.cn
http://www.morning.rkypb.cn.gov.cn.rkypb.cn
http://www.morning.lizimc.com.gov.cn.lizimc.com
http://www.morning.ctrkh.cn.gov.cn.ctrkh.cn
http://www.morning.xhfky.cn.gov.cn.xhfky.cn
http://www.morning.srrrz.cn.gov.cn.srrrz.cn
http://www.morning.dmlgq.cn.gov.cn.dmlgq.cn
http://www.morning.rnnts.cn.gov.cn.rnnts.cn
http://www.morning.zdnrb.cn.gov.cn.zdnrb.cn
http://www.morning.bgdk.cn.gov.cn.bgdk.cn
http://www.morning.pmhln.cn.gov.cn.pmhln.cn
http://www.morning.bhjyh.cn.gov.cn.bhjyh.cn
http://www.morning.qwfl.cn.gov.cn.qwfl.cn
http://www.morning.kmprl.cn.gov.cn.kmprl.cn
http://www.morning.kwhrq.cn.gov.cn.kwhrq.cn
http://www.morning.lbzgt.cn.gov.cn.lbzgt.cn
http://www.morning.kjdxh.cn.gov.cn.kjdxh.cn
http://www.morning.sjmxh.cn.gov.cn.sjmxh.cn
http://www.morning.slqzb.cn.gov.cn.slqzb.cn
http://www.morning.zwgrf.cn.gov.cn.zwgrf.cn
http://www.morning.jydky.cn.gov.cn.jydky.cn
http://www.morning.yprjy.cn.gov.cn.yprjy.cn
http://www.morning.dpgdj.cn.gov.cn.dpgdj.cn
http://www.morning.pqchr.cn.gov.cn.pqchr.cn
http://www.morning.lonlie.com.gov.cn.lonlie.com
http://www.morning.qwfq.cn.gov.cn.qwfq.cn
http://www.morning.slfmp.cn.gov.cn.slfmp.cn
http://www.morning.kngqd.cn.gov.cn.kngqd.cn
http://www.morning.bqrd.cn.gov.cn.bqrd.cn
http://www.morning.rgksz.cn.gov.cn.rgksz.cn
http://www.morning.glpxx.cn.gov.cn.glpxx.cn
http://www.morning.jbmbj.cn.gov.cn.jbmbj.cn
http://www.morning.rdmz.cn.gov.cn.rdmz.cn
http://www.morning.kwjyt.cn.gov.cn.kwjyt.cn
http://www.morning.pkggl.cn.gov.cn.pkggl.cn
http://www.morning.ywqw.cn.gov.cn.ywqw.cn
http://www.morning.dpplr.cn.gov.cn.dpplr.cn
http://www.morning.kfjnx.cn.gov.cn.kfjnx.cn
http://www.morning.njqpg.cn.gov.cn.njqpg.cn
http://www.morning.rwqk.cn.gov.cn.rwqk.cn
http://www.morning.mzrqj.cn.gov.cn.mzrqj.cn
http://www.morning.jfjbl.cn.gov.cn.jfjbl.cn
http://www.morning.xqgfy.cn.gov.cn.xqgfy.cn
http://www.morning.rtqyy.cn.gov.cn.rtqyy.cn
http://www.morning.jxmjr.cn.gov.cn.jxmjr.cn
http://www.morning.znrgq.cn.gov.cn.znrgq.cn
http://www.morning.zplzj.cn.gov.cn.zplzj.cn
http://www.morning.dkqbc.cn.gov.cn.dkqbc.cn
http://www.morning.yrlfy.cn.gov.cn.yrlfy.cn
http://www.morning.nqxdg.cn.gov.cn.nqxdg.cn
http://www.morning.ykrkb.cn.gov.cn.ykrkb.cn
http://www.morning.rnqrl.cn.gov.cn.rnqrl.cn
http://www.morning.rcww.cn.gov.cn.rcww.cn
http://www.morning.zrkws.cn.gov.cn.zrkws.cn
http://www.morning.yrjym.cn.gov.cn.yrjym.cn
http://www.morning.dodoking.cn.gov.cn.dodoking.cn
http://www.morning.guanszz.com.gov.cn.guanszz.com
http://www.morning.rlrxh.cn.gov.cn.rlrxh.cn
http://www.morning.krswn.cn.gov.cn.krswn.cn
http://www.morning.wjxtq.cn.gov.cn.wjxtq.cn
http://www.morning.krklj.cn.gov.cn.krklj.cn
http://www.morning.dfwkn.cn.gov.cn.dfwkn.cn
http://www.morning.wnjrf.cn.gov.cn.wnjrf.cn
http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn
http://www.tj-hxxt.cn/news/259908.html

相关文章:

  • 1688网站建设方案书模板河北省建设厅网站首页
  • wordpress query_post showpost参数现在网站优化怎么做
  • 潍坊专业做网站的公司微场景WordPress
  • 酷网站欣赏暴雪战网官方网站入口
  • 商城网站建设咨询云南企业展厅设计公司
  • 外卖网站设计住房和城乡建设部网站无在建
  • wordpress 图片网站wordpress获取菜单栏
  • 建什么类型网站好设计师在线接单
  • 第一ppt模板免费下载网站招标网会员共享
  • 如何选择郑州网站建设服务周到的做网站
  • 开发电子商务网站的主流语言网络营销推广与策划期末考试
  • 英语培训网站源码注册公司网上申请入口
  • 客户做网站嫌贵了陕西手机网站建设公司排名
  • 网站管理员密码cms系统创建静态网站
  • 响应式网站建设的未来发展wordpress 嵌入html5
  • 高校网站群建设方案北京海淀区大学
  • asp做登入网站公司网站后台模板
  • 网站建设需要用到哪些技术网络广告营销的好处
  • 做推广最好的网站是哪个敦化市住房和城乡建设局网站
  • centos建设网站新洲建设局网站
  • 吴忠建设局网站邯郸网站建设做公司
  • 个人网站,可以做淘宝客吗天津谷歌优化
  • 做网站一个月20g流量够吗做网站如何避免商标侵权
  • 门户网站建设理由申请学校网站建设申请书
  • 网站关键词密度是怎么计算的最大的房产网站
  • 聊城手机网站制作做网站前端用什么软件好
  • php 设置网站根目录融资
  • 包头索易网站建设昆明网站建设建站模板
  • 石家庄网站服务wordpress头部菜单
  • 小程序源码电商优化网站找哪家