1. private void quartzOrderReturn(List<String> returnIds) {
  2. try {
  3. Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
  4. JobDataMap jobDataMap = new JobDataMap();
  5. jobDataMap.put("returnIds", returnIds);
  6. //1. 创建一个JodDetail实例 将该实例与Hello job class绑定 (链式写法)
  7. JobDetail jobDetail = JobBuilder.newJob(QuartzOrderReturn.class)// 定义Job类为QuartzOrderReturn类,这是真正的执行逻辑所在
  8. .withIdentity(StrUtils.uuid())
  9. .setJobData(jobDataMap)
  10. .build();
  11. // 2. 定义一个Trigger,定义该job在10秒后执行,并且执行一次
  12. Date startTime = new Date();
  13. startTime.setTime(startTime.getTime() + 10000L);
  14. SimpleTrigger trigger = TriggerBuilder.newTrigger()
  15. .withIdentity(StrUtils.uuid(), HeaderNameConstants.getQuartzTrigger()).startNow()// 定义名字和组
  16. .startAt(startTime)
  17. .withSchedule(SimpleScheduleBuilder
  18. .simpleSchedule()
  19. .withIntervalInSeconds(2)//定义时间间隔是2秒
  20. .withRepeatCount(0)//定义重复执行次数是无限次
  21. )
  22. .build();
  23. // 4. 将trigger和jobdetail加入这个调度
  24. scheduler.scheduleJob(jobDetail, trigger);
  25. // 5. 启动scheduler
  26. scheduler.start();
  27. // 6. 任务执行后20秒后休眠
  28. Thread.sleep(startTime.getTime() + 20000L);
  29. // 7. 如果定时任务开启则关闭
  30. if (scheduler.isStarted()) {
  31. scheduler.shutdown(true);
  32. }
  33. } catch (SchedulerException | InterruptedException e) {
  34. e.printStackTrace();
  35. }
  36. }
  1. ublic static final Logger log = LoggerFactory.getLogger(Object.class);
  2.  
  3. @Override
  4. public void execute(JobExecutionContext context) {
  5. try {
  6. log.info("执行定时任务开始");
  7. JobDetail detail = context.getJobDetail();
  8. List<String> returnIds = (List<String>) detail.getJobDataMap().get("returnIds");
  9. OrderService orderService = (OrderService) SpringBeanFactoryUtils.getBeanByClass(OrderService.class);
  10. for (String returnId : returnIds) {
  11. orderService.refundPrice(returnId);
  12. }
  13. } catch (Exception e) {
  14. e.printStackTrace();
  15. }
  16. }

浅谈Quartz(SimpleTrigger&CronTrigger)的更多相关文章

  1. 浅谈Trigger(SimpleTrigger&CronTrigger)

     1.Trigger是什么 Quartz中的触发器用来告诉调度程序作业什么时候触发,即Trigger对象是用来触发执行job的.  2.Quartz中的Trigger  3.触发器通用属性: JobK ...

  2. 浅谈Quartz定时任务调度

    一  开发概述 对于具有一定规模的大多数企业来说,存在着这样一种需求:存在某个或某些任务,需要系统定期,自动地执行,然而,对大多数企业来说,该技术的实现,却是他们面临的一大难点和挑战.  对于大部分企 ...

  3. 浅谈Quartz.Net 从无到有创建实例

    一.Quartz.Net介绍 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或 ...

  4. 浅谈Spring中的Quartz配置

    浅谈Spring中的Quartz配置 2009-06-26 14:04 樊凯 博客园 字号:T | T Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在 ...

  5. 【转】.NET(C#):浅谈程序集清单资源和RESX资源 关于单元测试的思考--Asp.Net Core单元测试最佳实践 封装自己的dapper lambda扩展-设计篇 编写自己的dapper lambda扩展-使用篇 正确理解CAP定理 Quartz.NET的使用(附源码) 整理自己的.net工具库 GC的前世与今生 Visual Studio Package 插件开发之自动生

    [转].NET(C#):浅谈程序集清单资源和RESX资源   目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceM ...

  6. Spring整合Quartz (cronTrigger和simpleTrigger实现方法)

    Spring整合Quartz (cronTrigger和simpleTrigger实现方法) 之前有记录过一次springboot整合Quartz的文章,由于偶尔一次自己使用spring需要整合Qua ...

  7. iOS 核心动画 Core Animation浅谈

    代码地址如下:http://www.demodashi.com/demo/11603.html 前记 关于实现一个iOS动画,如果简单的,我们可以直接调用UIView的代码块来实现,虽然使用UIVie ...

  8. 【Fiori系列】浅谈SAP Fiori的设计美感与发展历程

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[Fiori系列]浅谈SAP Fiori的设计美 ...

  9. 浅谈springboot自动配置原理

    前言 springboot自动配置关键在于@SpringBootApplication注解,启动类之所以作为项目启动的入口,也是因为该注解,下面浅谈下这个注解的作用和实现原理 @SpringBootA ...

随机推荐

  1. c#做的查找文件夹内内容的小工具

    第一次写博客有点激动啊QAQ 来新单位,一直没活干,公司代码控制器太多,其中有很多文件夹,每次找一个控制器都老找不到,我又不愿意用VS的全局搜索,想着没事就做了个查找控制器的小工具.代码如下: 先添加 ...

  2. 服务器word权限添加

    我们的程序部署到IIS上会出现上图所示的错误. 这个是由于IIS没有权限访问word所致.   解决的方法: 在运行对话框中输入: mmc -32 出来如下图的界面:   然后点击"文件&q ...

  3. oracle学习篇四:多表查询

    -----------------产生笛卡儿积------------------------------------ select * from emp,dept; --不带条件时,记录数为14*4 ...

  4. 01.IDEA常用快捷键

    [1.查找] 当前窗口基本查找 ----------- Ctrl + F 返回上次浏览的位置 ----------- Ctrl + Alt + Left 查找类 ----------- Ctrl + ...

  5. php json_encode 中文乱码解决方法

    本文列举3个方法,实现json_encode()后的string显示中文问题. 做接口时不需要,但存log时帮了大忙了. 在贴代码前,必须贴上官方param和return,链接:http://php. ...

  6. spring----对IoC和DI的理解

      学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和 ...

  7. matlab 中“newff” 函数的参数设置

    matlab 中"newff" 函数的使用方法技巧|和各参数的意义 先来一个简单的源程序让大家练习一下: % Here input P and targets T define a ...

  8. 微软技术大会直播倒计时7天 | 地球上的IT咖们,正在慢慢向北京聚集

    去年,一句歌词火了:“我在北方的寒夜里,四季如春.”足以见得,北京的冬天,是可以把人冻蒙圈儿的. 然而有一群人,却正在慢慢靠近这样寒冷的北京,7 天后,他们将齐聚在北京. 他们来这里干什么?又是来见谁 ...

  9. jquery-tags-input 使用经历

    源代码里有这么一段,是在tagsInput这里,第一次初始化的时候是正常的,但当第二次初始化的时候就会出现问题,id的值会组合为  id+new Date().getTime() 暂时不清楚作用是什么 ...

  10. docker 部署 nginx+php+mysql

    系统:centos7 使用root账户 开放80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 安装docker yum ins ...