spring quartz 根据开始时间 结束时间 动态设置任务

本文介绍如何使用Quartz框架配置一个简单的定时任务。包括如何设置任务内容、任务详细信息、触发器及其执行时间等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 设置任务内容
			JobDataMap jobDataMap = new JobDataMap();
			// 需要保存spring的bean类 才能反射出 调用方法
			jobDataMap.put("targetObject",
					springContext.getBean("simpleService"));
			// 调用方法
			jobDataMap.put("targetMethod", "testMethod2");

			jobDataMap.put("shouldRecover", "true");
			// 设置任务详细信息
			JobDetail newJob = new JobDetail();
			// 任务名称
			newJob.setName("jobDetail3");
			// 任务详细配置
			newJob.setJobDataMap(jobDataMap);
			// 分组
			newJob.setGroup("DEFAUL");
			// 实现类(由该类去通过反射调用提供的方法)
			newJob.setJobClass(MethodInvokingJobDetailFactoryBean.MethodInvokingJob.class);
			
			Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
			
			SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
	        String str = "2013-10-16 00:00:00";
	        String str2 ="2013-10-18 00:00:00";
	        Date  time = formatDate.parse(str);
	        Date  time2 = formatDate.parse(str2);
		//触发器名称  触发器分组  执行次数  间隔时间(毫秒级)
            SimpleTrigger simpleTrigger = new SimpleTrigger();
            //设置分组名称
            simpleTrigger.setGroup(Scheduler.DEFAULT_GROUP);
            //触发器名称
            simpleTrigger.setName("cronTrigger3");
            //SimpleTrigger.REPEAT_INDEFINITELY 不限次数
            //simpleTrigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
            simpleTrigger.setRepeatCount(10);
            //执行时间间隔(毫秒)
            simpleTrigger.setRepeatInterval(10);
            //设置开始时间
            simpleTrigger.setStartTime(time);
            //从1开始
            simpleTrigger.setTimesTriggered(1);
            //设置结束时间
            simpleTrigger.setEndTime(time2);
            scheduler.scheduleJob(newJob, simpleTrigger);
			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值