1.导入jar包

2.创建entity、

package cn.happy.entity;

public class Plan {
//时间
private String date;
//任务
private String task; public Plan() { } public Plan(String date, String task) {
this.date = date;
this.task = task;
} @Override
public String toString() {
return "Plan [date=" + date + ", task=" + task + "]";
} public String getDate() {
return date;
} public void setDate(String date) {
this.date = date;
} public String getTask() {
return task;
} public void setTask(String task) {
this.task = task;
}
}

3、创建service

package cn.happy.service;

import java.util.ArrayList;
import java.util.List; import cn.happy.entity.Plan; public class RemindService { public void print(String name){
List<Plan> list = getPlan(name);
System.out.println(name+"的提醒信息\n");
for (Plan plan : list) {
System.out.println(plan);
}
}
public void printPlan(String userName){
List<Plan> plansForToday = getPlansForToday(userName);
System.out.print(userName + "的提醒信息:\n");
for(Plan plan:plansForToday){
System.out.print(plan +"\n");
}
} public List<Plan> getPlansForToday(String userName){
//模拟数据库查询,仅为说明问题
List<Plan> list = new ArrayList<Plan>();
list.add(new Plan("2003-8-9 9:00","研讨会 | 地点:会议室C01"));
list.add(new Plan("2003-8-9 14:00","汇报 | 地点:总裁办公室"));
return list;
} public List<Plan> getPlan(String name){
List<Plan> list = new ArrayList<Plan>();
list.add(new Plan("2016年12月18日10:59", "研讨会"));
list.add(new Plan("2016-12-18 11:01","汇报"));
return list;
}
}

4、创建quartz

package cn.happy.quartz;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException; import cn.happy.service.RemindService;
/**
* 工作调度类 quartz 类 需要实现 job接口
* @author SLEEP
*
*/
public class RemindJob implements Job {
//注入service对象
RemindService service =new RemindService();
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
service.printPlan("见见");
} }

5.创建测试类(关键)

package cn.happy.test;

import java.util.Date;

import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory; import cn.happy.quartz.RemindJob;
/**
* 测试类
* 使用quartz类
* @author SLEEP
*
*/
public class Test { public void doRemind() throws SchedulerException, InterruptedException { //创建一个任务
JobDetail job= JobBuilder.newJob(RemindJob.class) //
.withIdentity("job1", "group1")
.build();
//创建一个触发器
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger", "myTriggerGroup")
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(5)
.repeatForever())
.startAt(new Date(System.currentTimeMillis() + 1000))
.build();
//创建调度工厂
SchedulerFactory stdSchedulerFactory = new StdSchedulerFactory();
//创建一个调度者
Scheduler scheduler = stdSchedulerFactory.getScheduler();
//注册并进行调度
scheduler.scheduleJob(job,trigger);
//启动调度
scheduler.start();
//创建调度者工厂
SchedulerFactory sfc = new StdSchedulerFactory();
//创建一个调度者
Scheduler sched = sfc.getScheduler();
//注册并进行调度
sched.scheduleJob(job, trigger);
//启动调度
sched.start();
/*//sleep10s
Thread.sleep(10000);
//关闭调度
sched.shutdown();*/
} /**
*
*/
public static void main(String[] args) {
try{
Test testJob = new Test();
testJob.doRemind();
}catch(Exception e){
e.printStackTrace();
}
}
}

scheduletask任务调度的更多相关文章

  1. scheduletask任务调度(2间隔时间)

    Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("myTrigger", "myTriggerGr ...

  2. springBoot集成 quartz动态定时任务

    项目中需要用到定时任务,考虑了下java方面定时任务无非就三种: 用Java自带的timer类.稍微看了一下,可以实现大部分的指定频率的任务的调度(timer.schedule()),也可以实现关闭和 ...

  3. Spring任务调度

    任务调度是大多数应用系统的常见需求之一,拿论坛来说:每个半个小时生成精华文章的RSS文件,每天凌晨统计论坛用户的积分排名,每隔30分钟执行对锁定过期的用户进行解锁.以上都是以时间为关注点的调度,事实上 ...

  4. SpringBoot2 task scheduler 定时任务调度器四种方式

    github:https://github.com/chenyingjun/springboot2-task 使用@EnableScheduling方式 @Component @Configurabl ...

  5. java实现任务调度

    最近的一个小项目是做一个简单的数据仓库,需要将其他数据库的数据抽取出来,并通过而出抽取成页面需要的数据,以空间换时间的方式,让后端报表查询更快. 因为在抽取的过程中,有一定的先后顺序,需要做一个任务调 ...

  6. .net 分布式架构之任务调度平台

    开源地址:http://git.oschina.net/chejiangyi/Dyd.BaseService.TaskManager .net 任务调度平台 用于.net dll,exe的任务的挂载, ...

  7. 免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)

    很多的软件项目中都会使用到定时任务.定时轮询数据库同步,定时邮件通知等功能..NET Framework具有“内置”定时器功能,通过System.Timers.Timer类.在使用Timer类需要面对 ...

  8. Spring Quartz实现任务调度

    任务调度 在企业级应用中,经常会制定一些"计划任务",即在某个时间点做某件事情 核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作 任务调度涉及多线程并发.线程池维 ...

  9. Quartz实现任务调度

    一.任务调度概述 在企业级应用中,经常会制定一些"计划任务",即在某个时间点做某件事情,核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作,任务调度涉及多线程并发. ...

随机推荐

  1. Compile FreeCAD on Windows

    Compile FreeCAD on Windows eryar@163.com 1.Introduction FreeCAD是一个参数化的三维造型软件,主要用于任意大小的实际模型的设计.参数化的建模 ...

  2. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'(2)

    center os服务器上搭建discuz论坛初始化程序的时候出现的.我把localhost改成127.0.0.1解决了这个问题.

  3. SparkStreaming实现Exactly-Once语义

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 译自:http://blog.cloudera.com/blog/2015/03/exactly ...

  4. [Spring]01_环境配置

    )在资源库界面点击Artifacts标签,然后点击libs-release-local,展开后依次点击org -> springframework -> spring.

  5. Moon.Orm 常见查询实例

    一.Moon.Orm框架总述 (您还用hibernate?实体框架?) 1.框架名:Moon 意思是月亮,而非Mono.因为很喜欢明月,所以以此为名.它是一个.NET下的Orm框架. 2.发展历史:历 ...

  6. git 版本回退

    由于操作失误,需要将代码进行版本回退,首先在本地仓库执行了“git reset --hard HEAD^”命令,这样只会回退本地仓库的代码,但是我的代码之前已经push到了远程库中,查看远程仓库,发现 ...

  7. JavaScript原型OOP——你上车了吗?

    .title-bar { width: 80%; height: 35px; padding-left: 35px; color: white; line-height: 35px; font-siz ...

  8. wpf 列表、菜单 收起与展开,通过Grid DoubleAnimation或者Expander实现

    菜单收缩有很多种方法具体如何实现还是看个人想法: 第一种通过后台控制收起与展开: 效果图: 代码 : <Grid> <Grid.ColumnDefinitions> <C ...

  9. Chart: Who pays the most in Seattle for software engineers

    http://www.geekwire.com/2012/chart-pays-seattle-software-engineers/ Chart: Who pays the most in Seat ...

  10. JDK1.8 HashMap 源码分析

    一.概述 以键值对的形式存储,是基于Map接口的实现,可以接收null的键值,不保证有序(比如插入顺序),存储着Entry(hash, key, value, next)对象. 二.示例 public ...