定时器实现

  • 一、手动定义一个spring类便于获取注入的类
  • 二、定义一个类实现Job类
  • 三、编写定时任务工具类

一、手动定义一个spring类便于获取注入的类

@Component
public class SpringUtile  implements ApplicationContextAware {private static ApplicationContext applicationContext;@Overridepublic void setApplicationContext(ApplicationContext applicationContextParam) throws BeansException {applicationContext=applicationContextParam;}public static Object getObject(String id) {Object object = null;object = applicationContext.getBean(id);return object;}public static <T> T getObject(Class<T> tClass) {return applicationContext.getBean(tClass);}public static Object getBean(String tClass) {return applicationContext.getBean(tClass);}public <T> T getBean(Class<T> tClass) {return applicationContext.getBean(tClass);}
}

二、定义一个类实现Job类

具体项目可以在对应的service上实现,,也可独立写
public class CpServiceImpl implements ICpService, Job{}

三、编写定时任务工具类

public class zidong {private SchedulerFactory schedulerFactory = null;private Scheduler scheduler = null;public  void start() throws SchedulerException {schedulerFactory =  new StdSchedulerFactory();scheduler = schedulerFactory.getScheduler();}public  void zhengshi() throws SchedulerException {schedulerFactory =  new StdSchedulerFactory();scheduler = schedulerFactory.getScheduler();// 1、创建调度器Scheduler// 2、创建JobDetail实例,并与PrintWordsJob类绑定(Job执行内容)JobDetail jobDetail = JobBuilder.newJob(CpServiceImpl.class).usingJobData("jobDetail1", "这个Job用来测试的").withIdentity("job1", "group1").build();// 3、构建Trigger实例,每隔1s执行一次
//        Date startDate = new Date();
//        startDate.setTime(startDate.getTime() + 5000);
//
//        Date endDate = new Date();
//        endDate.setTime(startDate.getTime() + 5000);CronTrigger cronTrigger = newTrigger().withIdentity("trigger1", "triggerGroup1").usingJobData("trigger1", "这是jobDetail1的trigger").startNow()//立即生效
//                .startAt(startDate)
//                .endAt(endDate).withSchedule(cronSchedule("0/1 * * * * ?").withMisfireHandlingInstructionDoNothing()).build();
//        CronTrigger cronTrigger = newTrigger().withIdentity("trigger1", "triggerGroup1").withSchedule(cronSchedule("0/1 37 16 6 12 ?")).build();//4、执行scheduler.scheduleJob(jobDetail, cronTrigger);System.out.println("--------scheduler start ! ------------");scheduler.start();System.out.println("--------scheduler shutdown ! ------------");}}

CpServiceImpl类为实现job接口的类。

java定时器quartz相关推荐

  1. Java定时器quartz停止

    Part1 SpringIOC 学习Spring最重要的无非是Spring IOC以及Spring AOP,首先咱们把Spring IOC吃透,以下内容将截图展示. Spring IOC主要学习内容分 ...

  2. java实现quartz定时器_java定时器quartz实现解析

    上次我们了解过了timer的有关内容,这次来了解下另外一个定时器quartz的实现,快来看看吧. 1.首先,在pom.xml中进行最重要也是基础的导包环节 org.quartz-scheduler q ...

  3. java定时器任务中获取request对象 @Scheduled 获取request 对象 quartz中获取request对象

    java定时器任务中获取request对象 @Scheduled 获取request 对象 quartz中获取request对象 一.问题描述 1.在java定时任务中,使用 @Scheduled 注 ...

  4. java定时器、Spring定时器和Quartz定时器

    当前java程序中能够实现定时的主要有三种方式,分别是:java定时器,spring定时器,quartz定时器. 下面依次讲讲他们的应用! java定时器的应用    其实java很早就有解决定时器任 ...

  5. java 定时器框架_java定时器

    java定时器 什么是Java定时器? Java 定时器就是在给定的间隔时间执行自己的任务; Java实现定时器有以下几种: 通过Timer来实现定时任务 Timer 是来自 java.util.Ti ...

  6. java定时器停止_java 定时器中任务的启动、停止、再启动

    package com.cvicse.ump.timer.service; import java.util.Date; import java.util.Timer; import com.cvic ...

  7. Springboot实现定时器quartz应用举例。

    上一篇中我们说明了Springboot实现定时器quartz中文文档说明, 在开写主要内容前,我们来说明其他方式. 两者都是针对较简单的情况下.其一是,SpringBoot自带定时注解.其二是,定时线 ...

  8. 一文吃透JAVA定时器格式

    JAVA 定时器时间格式 ​ 基本格式: [秒]  [分]  [小时]  [日]  [月]  [周]   [年] 序号 说明 是否必填 允许填写的值 允许使用的通配符 1 秒 是 0-59 ,   - ...

  9. java定时器返回future_java 定时器线程池(ScheduledThreadPoolExecutor)的实现

    前言 定时器线程池提供了定时执行任务的能力,即可以延迟执行,可以周期性执行.但定时器线程池也还是线程池,最底层实现还是ThreadPoolExecutor,可以参考我的另外一篇文章多线程–精通Thre ...

  10. Java定时器Timer

    Java定时器Timer 在JDK库中,Timer类主要负责计划任务的功能,也就是在指定的时开始执行某一个任务.Timer类的主要作用就是设置计划任务,但封装任务的类却是TimerTask类,执行计划 ...

最新文章

  1. 关于commonjs,AMD,CMD之间的异同
  2. 滴滴业务研发的精益实践
  3. 跨平台C++开发环境搭建——GNU+STL+Boost+wxWidget+OpenSceneGraph
  4. 乌班图linux分辨率不能调,ubuntu不能设置高分辨率问题的解决方法,
  5. python是什么和c++是什么区别_c++和python的区别有哪些
  6. 使用 MQTTnet 快速实现 MQTT 通信
  7. 5、mybatis中的映射器
  8. 转载:vb导出excel的方法
  9. 瑞星布局:安全软件的时尚模式
  10. ubuntu jdk 1.7 安装
  11. EH使用IPMI基础操作
  12. llustrator 教程,如何在 Illustrator 中对齐内容?
  13. 12-Python3 元组
  14. Anylogic问题-----模型运行中外部输入控制模型
  15. 使用Python连接谷歌邮箱发送邮件
  16. 电脑设置定时关机的5种方法
  17. vue中 this.$set的使用
  18. js技巧收集(200多个)——2
  19. ffmpeg实现视频实时动态时间水印
  20. android studio 倒计时,Android studio 学习3:实现倒计时、画板

热门文章

  1. 安全工具大全(持续补充中)
  2. printf 输出格式控制
  3. 如何计算一路话音消耗的带宽
  4. 浅谈Spring如何利用三个缓存Map解决循环依赖
  5. ram计算机中术语,计算机术语 RAM ROM
  6. 关于C和C++中的基本数据类型int、long、long long、float、double、char、string的大小及表示范围
  7. matlab在数学教学,Matlab在数学函数教学中的应用
  8. Java web 实战项目案例
  9. 百度编辑器 UEditor 使用方法 及 如何设置固定高度且带滚动条及 如何设置修改传值的 name 属性
  10. WinForm转WPF