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

如何推进网站建设网站建设东莞老铁博客

如何推进网站建设,网站建设东莞老铁博客,随机网站生成器,天河网站建设专家Quartz 是个开源的作业调度框架#xff0c;为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz框架包含了调度器监听、作业和触发器监听。你可以配置作业和触发器监听为全局监听或者是特定于作业和触发器的监听。Quartz 允许开发人员根据时间间隔#xff08;或…  Quartz 是个开源的作业调度框架为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz框架包含了调度器监听、作业和触发器监听。你可以配置作业和触发器监听为全局监听或者是特定于作业和触发器的监听。Quartz 允许开发人员根据时间间隔或天来调度作业。它实现了作业和触发器的多对多关系还能把多个作业与不同的触发器关联。整合了 Quartz 的应用程序可以重用来自不同事件的作业还可以为一个事件组合多个作业。并且还能和Spring配置整合使用。Quartz在功能上远远超越了JDK自带的Timer很好很强大好啦直接上代码 /** * Description: * * Title: QuartzManager.java * Package com.joyce.quartz * Copyright: Copyright (c) 2014 * * version V2.0 */ import org.quartz.CronTrigger; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerFactory; import org.quartz.impl.StdSchedulerFactory; /** * Description: 定时任务管理类 * * ClassName: QuartzManager * Copyright: Copyright (c) 2014 * * author Comsys-LZP * date 2014-6-26 下午03:15:52 * version V2.0 */ public class QuartzManager { private static SchedulerFactory gSchedulerFactory new StdSchedulerFactory(); private static String JOB_GROUP_NAME EXTJWEB_JOBGROUP_NAME; private static String TRIGGER_GROUP_NAME EXTJWEB_TRIGGERGROUP_NAME; /** * Description: 添加一个定时任务使用默认的任务组名触发器名触发器组名 * * param jobName * 任务名 * param cls * 任务 * param time * 时间设置参考quartz说明文档 * * Title: QuartzManager.java * Copyright: Copyright (c) 2014 * * author Comsys-LZP * date 2014-6-26 下午03:47:44 * version V2.0 */ SuppressWarnings(unchecked) public static void addJob(String jobName, Class cls, String time) { try { Scheduler sched gSchedulerFactory.getScheduler(); JobDetail jobDetail new JobDetail(jobName, JOB_GROUP_NAME, cls);// 任务名任务组任务执行类 // 触发器 CronTrigger trigger new CronTrigger(jobName, TRIGGER_GROUP_NAME);// 触发器名,触发器组 trigger.setCronExpression(time);// 触发器时间设定 sched.scheduleJob(jobDetail, trigger); // 启动 if (!sched.isShutdown()) { sched.start(); } } catch (Exception e) { throw new RuntimeException(e); } } /** * Description: 添加一个定时任务 * * param jobName * 任务名 * param jobGroupName * 任务组名 * param triggerName * 触发器名 * param triggerGroupName * 触发器组名 * param jobClass * 任务 * param time * 时间设置参考quartz说明文档 * * Title: QuartzManager.java * Copyright: Copyright (c) 2014 * * author Comsys-LZP * date 2014-6-26 下午03:48:15 * version V2.0 */ SuppressWarnings(unchecked) public static void addJob(String jobName, String jobGroupName, String triggerName, String triggerGroupName, Class jobClass, String time) { try { Scheduler sched gSchedulerFactory.getScheduler(); JobDetail jobDetail new JobDetail(jobName, jobGroupName, jobClass);// 任务名任务组任务执行类 // 触发器 CronTrigger trigger new CronTrigger(triggerName, triggerGroupName);// 触发器名,触发器组 trigger.setCronExpression(time);// 触发器时间设定 sched.scheduleJob(jobDetail, trigger); } catch (Exception e) { throw new RuntimeException(e); } } /** * Description: 修改一个任务的触发时间(使用默认的任务组名触发器名触发器组名) * * param jobName * param time * * Title: QuartzManager.java * Copyright: Copyright (c) 2014 * * author Comsys-LZP * date 2014-6-26 下午03:49:21 * version V2.0 */ SuppressWarnings(unchecked) public static void modifyJobTime(String jobName, String time) { try { Scheduler sched gSchedulerFactory.getScheduler(); CronTrigger trigger (CronTrigger) sched.getTrigger(jobName,TRIGGER_GROUP_NAME); if (trigger null) { return; } String oldTime trigger.getCronExpression(); if (!oldTime.equalsIgnoreCase(time)) { JobDetail jobDetail sched.getJobDetail(jobName,JOB_GROUP_NAME); Class objJobClass jobDetail.getJobClass(); removeJob(jobName); addJob(jobName, objJobClass, time); } } catch (Exception e) { throw new RuntimeException(e); } } /** * Description: 修改一个任务的触发时间 * * param triggerName * param triggerGroupName * param time * * Title: QuartzManager.java * Copyright: Copyright (c) 2014 * * author Comsys-LZP * date 2014-6-26 下午03:49:37 * version V2.0 */ public static void modifyJobTime(String triggerName, String triggerGroupName, String time) { try { Scheduler sched gSchedulerFactory.getScheduler(); CronTrigger trigger (CronTrigger) sched.getTrigger(triggerName,triggerGroupName); if (trigger null) { return; } String oldTime trigger.getCronExpression(); if (!oldTime.equalsIgnoreCase(time)) { CronTrigger ct (CronTrigger) trigger; // 修改时间 ct.setCronExpression(time); // 重启触发器 sched.resumeTrigger(triggerName, triggerGroupName); } } catch (Exception e) { throw new RuntimeException(e); } } /** * Description: 移除一个任务(使用默认的任务组名触发器名触发器组名) * * param jobName * * Title: QuartzManager.java * Copyright: Copyright (c) 2014 * * author Comsys-LZP * date 2014-6-26 下午03:49:51 * version V2.0 */ public static void removeJob(String jobName) { try { Scheduler sched gSchedulerFactory.getScheduler(); sched.pauseTrigger(jobName, TRIGGER_GROUP_NAME);// 停止触发器 sched.unscheduleJob(jobName, TRIGGER_GROUP_NAME);// 移除触发器 sched.deleteJob(jobName, JOB_GROUP_NAME);// 删除任务 } catch (Exception e) { throw new RuntimeException(e); } } /** * Description: 移除一个任务 * * param jobName * param jobGroupName * param triggerName * param triggerGroupName * * Title: QuartzManager.java * Copyright: Copyright (c) 2014 * * author Comsys-LZP * date 2014-6-26 下午03:50:01 * version V2.0 */ public static void removeJob(String jobName, String jobGroupName, String triggerName, String triggerGroupName) { try { Scheduler sched gSchedulerFactory.getScheduler(); sched.pauseTrigger(triggerName, triggerGroupName);// 停止触发器 sched.unscheduleJob(triggerName, triggerGroupName);// 移除触发器 sched.deleteJob(jobName, jobGroupName);// 删除任务 } catch (Exception e) { throw new RuntimeException(e); } } /** * Description:启动所有定时任务 * * * Title: QuartzManager.java * Copyright: Copyright (c) 2014 * * author Comsys-LZP * date 2014-6-26 下午03:50:18 * version V2.0 */ public static void startJobs() { try { Scheduler sched gSchedulerFactory.getScheduler(); sched.start(); } catch (Exception e) { throw new RuntimeException(e); } } /** * Description:关闭所有定时任务 * * * Title: QuartzManager.java * Copyright: Copyright (c) 2014 * * author Comsys-LZP * date 2014-6-26 下午03:50:26 * version V2.0 */ public static void shutdownJobs() { try { Scheduler sched gSchedulerFactory.getScheduler(); if (!sched.isShutdown()) { sched.shutdown(); } } catch (Exception e) { throw new RuntimeException(e); } } } 以上就是quartz任务调度对于任务的常用操作封装起来以便在外部调用这样我们就需要任务的执行了 /** * Description: * * Title: QuartzJob.java * Package com.joyce.quartz * Copyright: Copyright (c) 2014 * * author Comsys-LZP * date 2014-6-26 下午03:37:11 * version V2.0 */ package com.joyce.quartz; import java.text.SimpleDateFormat; import java.util.Date; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; /** * Description: 任务执行类 * * ClassName: QuartzJob * Copyright: Copyright (c) 2014 * * version V2.0 */ public class QuartzJob implements Job { Override public void execute(JobExecutionContext arg0) throws JobExecutionException { System.out.println(new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new Date()) .........); } } Ok我们来测试一下 /** * Description: * * Title: QuartzTest.java * Package com.joyce.quartz.main * Copyright: Copyright (c) 2014 * * author Comsys-LZP * date 2014-6-26 下午03:35:05 * version V2.0 */ package com.joyce.quartz.main; import com.joyce.quartz.QuartzJob; import com.joyce.quartz.QuartzManager; /** * Description: 测试类 * * ClassName: QuartzTest * Copyright: Copyright (c) 2014 * * version V2.0 */ public class QuartzTest { public static void main(String[] args) { try { String job_name 动态任务调度; System.out.println(【系统启动】开始(每1秒输出一次)...); QuartzManager.addJob(job_name, QuartzJob.class, 0/1 * * * * ?); Thread.sleep(5000); System.out.println(【修改时间】开始(每2秒输出一次)...); QuartzManager.modifyJobTime(job_name, 10/2 * * * * ?); Thread.sleep(6000); System.out.println(【移除定时】开始...); QuartzManager.removeJob(job_name); System.out.println(【移除定时】成功); System.out.println(【再次添加定时任务】开始(每10秒输出一次)...); QuartzManager.addJob(job_name, QuartzJob.class, */10 * * * * ?); Thread.sleep(60000); System.out.println(【移除定时】开始...); QuartzManager.removeJob(job_name); System.out.println(【移除定时】成功); } catch (Exception e) { e.printStackTrace(); } } } 运行一下看看效果
http://www.zqtcl.cn/news/203557/

相关文章:

  • 深圳网站建设..网站点击图片放大
  • 上海企业扶持政策洛阳400电话洛阳网站seo
  • 保亭县住房城市建设局网站app免费制作平台下载
  • 抚州市建设局网站在网站做商城平台需要哪些资质
  • 潍坊专业网站建设多少钱素马设计官网
  • 深圳网站建设 套餐近期新闻事件
  • 网站开发外包维护合同淘宝客源码程序 爱淘宝风格+程序自动采集商品 淘宝客网站模板
  • 烟台企业网站开发军事新闻最新24小时
  • wordpress网站更换域名网站空间建站
  • 十堰网站建设公司电话网页设计与制作教程江西高校出版社
  • 英文网站seo常州建设局考试网站
  • wordpress 多网站哈尔滨 建网站
  • 免费网站源代码怎么制作网站教程
  • Thinkphp开发wordpress网站怎么优化seo
  • tp框架做视频网站站长统计芭乐鸭脖小猪
  • asp网站发布ftp国内f型网页布局的网站
  • 无限空间 网站四川省建设厅网站填报获奖
  • 广东佛山最新通知北京seo怎么优化
  • 浙江省通信管理局 网站备案 管理部门科技公司经营范围包括哪些
  • 网站域名备案转接入手续深圳外贸公司qc招聘
  • 湖北网站建设服务公司可以做产品推广的网站
  • 做经营性的网站备案条件wordpress删除菜单
  • js商城网站个安装wordpress
  • 想给学校社团做网站企业服务平台是做什么的
  • 网站推广渠道的类型wordpress看不到表格
  • 网站建设与推广实训报告册附近广告设计与制作门店电话
  • wordpress汉语公益网站开发使用api对seo
  • 北京网站优化前景seo网络推广专员
  • 临海网站制作工程施工合同免费版
  • 免费的黄冈网站有哪些平台wordpress 新闻发布