首页 > 代码库 > Quartz简单实例
Quartz简单实例
Quartz中提供了两种触发器,分别是CronTrigger和SimpleTrigger。
1. SimpleTrigger
每隔若干毫秒来触发纳入进度的任务。
2. CronTrigger
在特定“格林日历”时刻触发纳入进程的任务。
调度程序如下:
public class TestQuartz { public void myTask() throws Exception { String tim = FileProperties.getMyProperty("Socket_TIM_ZZH"); System.out.println(tim); //定时器任务定义 Scheduler scheduler = new StdSchedulerFactory().getScheduler(); scheduler.start(); //定时器任务 JobDetail testJob = new JobDetail("testJob", Scheduler.DEFAULT_GROUP, TestTask.class);
//CronTrigger触发器 //Trigger trigger = new CronTrigger("testCronTrigger", Scheduler.DEFAULT_GROUP, tim.trim()); //结束时间 long end = System.currentTimeMillis() + 9000L; //执行10次,每3秒执行一次,到9秒后结束 SimpleTrigger trigger = new SimpleTrigger("test",null,new Date(),new Date(end),10,3000L); // 定时器任务监听 scheduler.scheduleJob(testJob, trigger); }}
任务执行程序如下:
public class TestTask extends Thread implements Job{ //private static Logger logger = Logger.getLogger(TestTask.class.getName()); private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private Date today = null; public TestTask() { Calendar rightNow = Calendar.getInstance(); rightNow.add(Calendar.DATE,-1); this.today = rightNow.getTime(); } @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { try { System.out.println("testTask:" + format.format(this.today) + "------------------------------------"); //logger.info("testTask:" + format.format(this.today) + "------------------------------------"); } catch (Exception e) { e.printStackTrace(); //logger.error("error:" + e.getMessage()); } }}
main函数:
public static void main(String[] args) { try { TestQuartz testQuartz = new TestQuartz(); testQuartz.myTask(); }catch(Exception e) { e.printStackTrace(); } }
除了引入quartz包,还要使用Commons-logging.jar
Quartz简单实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。