String hour = request.getParameter("hour");
String minute = request.getParameter("minute");
String second = request.getParameter("second");
String[] commonNeeds = {second,minute,hour};// 具体时间
//转换 时间规则
String cronExpression = convertDateToCronExp(schduleType, commonNeeds,
monthlyNeeds, weeklyNeeds);
log.info("cronExpression: "+cronExpression);
this.ctx = WebApplicationContextUtils.getWebApplicationContext(ServletActionContext.getServletContext());
scheduler = (Scheduler)ctx.getBean("schedulerFactory");
CronTriggerBean trigger = (CronTriggerBean) scheduler.getTrigger(
"autoBakUpCronTrigger", Scheduler.DEFAULT_GROUP);
trigger.setCronExpression(cronExpression);
scheduler.rescheduleJob("autoBakUpCronTrigger", Scheduler.DEFAULT_GROUP, trigger);
public String convertDateToCronExp(String everyWhat,
String[] commonNeeds, String[] monthlyNeeds, String weeklyNeeds) {
String cronEx = "" ;
StringBuffer commons = new StringBuffer();
if("".equals( commonNeeds[ 0 ])){
commons.append("0");
}else{
commons.append(commonNeeds[ 0 ]);
}
if("".equals( commonNeeds[ 1 ])){
commons.append(" 0");
}else{
commons.append(" "+ commonNeeds[ 1 ]);
}
commons.append(" "+ commonNeeds[ 2 ]+ " ");
log.info("common: "+commons.toString());
//commonNeeds[ 0 ] + " " + commonNeeds[ 1 ] + " "+ commonNeeds[ 2 ] + " " ;
String dayOfWeek = "" ;
if ( "month" .equals(everyWhat)) {
// eg.: 6#3 (day 6 = Friday and "#3" = the 3rd one in the
// month)
dayOfWeek = monthlyNeeds[ 1 ]
+ CronExRelated.specialCharacters.get(CronExRelated._THENTH) + monthlyNeeds[ 0 ];
cronEx = (commons.toString()
+ CronExRelated.specialCharacters.get(CronExRelated._ANY)
+ " "
+ CronExRelated.specialCharacters.get(CronExRelated._EVERY)
+ " " + dayOfWeek + " " ).trim();
} else if ( "week" .equals(everyWhat)) {
dayOfWeek = weeklyNeeds; // 1
cronEx = (commons.toString()
+ CronExRelated.specialCharacters.get(CronExRelated._ANY)
+ " "
+ CronExRelated.specialCharacters.get(CronExRelated._EVERY)
+ " " + dayOfWeek + " " ).trim();
}
return cronEx;
}
分享到:
相关推荐
**Spring-quartz计划任务** Spring框架与Quartz的结合使用,是Java开发中常见的定时任务解决方案。Quartz是一个开源的作业调度框架,可以用来在指定的时间执行特定的任务。而Spring框架则提供了对Quartz的集成,...
总之,Spring MVC与Quartz的结合提供了强大且灵活的任务调度能力,通过动态设置时间,你可以根据业务需求轻松地管理定时任务。在实际应用中,可能还需要考虑并发控制、异常处理、日志记录等其他方面,以确保系统的...
3. **配置触发器**:使用`CronScheduleBuilder`可以方便地设置任务执行的时间规则。例如,每日定时执行一次: ```csharp IScheduler sched = new StdSchedulerFactory().GetScheduler(); JobDetailImpl jb1 = new ...
Spring + quartz 定时任务修改定时时间不重启服务
Quartz是一款开源的作业调度框架,它允许开发者创建、调度和执行各种类型的任务。这个"quartz动态任务管理"源码包很可能是针对Quartz框架的实现,旨在帮助开发者更方便地管理和控制任务的生命周期。 Quartz的核心...
最后,我们需要重新安排任务的执行,以便于 Quartz 任务调度器可以根据新的时间规则来执行任务。 具体实现细节 在实现动态配置时间时,我们需要考虑两个主要方面:时间规则的设置和时间规则的解析。 时间规则的...
Quartz.NET允许开发者在应用程序中安排任务在特定时间执行,从而实现自动化的工作流程。 在Quartz.NET的使用过程中,主要分为以下几个步骤: 1. **创建调度器(Scheduler)**:首先,我们需要创建一个调度器实例,它...
在"java_Quartz计划任务配置"中,主要涉及以下几个核心知识点: 1. **Quartz基本概念** - **作业(Job)**:作业是实际需要执行的工作单元,包含业务逻辑。 - **作业类(Job Class)**:实现`org.quartz.Job`接口...
Quartz 提供了丰富的API,使得开发者能够灵活地定义任务,并精确控制任务的执行时间。本项目利用Quartz 实现了基于Cron表达式的定时任务,让我们深入探讨一下相关的知识点。 1. **Quartz介绍**: - Quartz 是一个...
SimpleTrigger用于按固定间隔重复执行,而CronTrigger则可以基于cron表达式实现更复杂的时间计划。 3. **Scheduler**:Scheduler是整个定时任务的核心,它负责管理和执行Jobs和Triggers。通过` StdSchedulerFactory...
Quartz.Net是一个定时任务框架,可以实现异常灵活的定时任务,开发人员只要编写少量的代码就可以实现“每隔1小时执行”、“每天22点执行”、“每月18日的下午执行8次”等各种定时任务。 Quartz.Net中的概念:计划者...
### Quartz的Cron时间设置详解 #### 一、Cron表达式概述 Cron表达式是一种用于配置定时任务执行频率的格式化字符串。在Quartz框架中,Cron表达式通常用于Trigger对象来定义Job执行的时间规则。一个标准的Cron表达式...
在给定的压缩包文件中,"lib"目录可能包含了Quartz库的jar文件,这是运行Quartz任务所必需的依赖。为了运行上述代码,你需要确保项目中已经引入了Quartz库,或者将lib目录下的jar文件添加到项目的类路径中。 总之,...
Quartz是一款开源的作业调度框架,它允许程序在指定的时间执行特定的任务,广泛应用于Java企业级应用中。SpringBoot与Quartz的集成使得在微服务环境中实现定时任务变得非常便捷。下面将详细介绍如何利用Quartz在...
Quartz支持复杂的调度策略,如cron表达式,可以定义任务执行的时间间隔。在SpringBoot项目中整合Quartz,可以方便地管理这些定时任务。 在SpringBoot 2.x中集成Quartz,我们需要以下几个步骤: 1. 添加依赖:在...
通过Quartz,你可以设置一次性任务或重复任务,例如每天、每周或在特定时间执行。此外,Quartz还支持集群环境,可以在多台服务器上进行负载均衡和故障转移,确保高可用性。 "doc"文件通常包含Quartz的官方文档,...
7. **错误处理和监控**: 你可以设置监听器(`JobListener`和`TriggerListener`)来监控任务的执行状态,捕获异常并采取相应的措施。 在实际应用中,"WebApplication4"可能是你的项目名称,其中包含了实现上述功能的...
Quartz是一个开源的作业调度框架,能够触发在指定时间运行的任务,广泛应用于Java应用程序中进行定时任务的管理。Quartz的核心是Cron表达式,它允许开发者以一种灵活且可读性高的方式定义任务的执行时间。 #### ...
Quartz是一款开源的作业调度框架,它允许开发者创建和安排任务执行。在Java应用程序中,Quartz能够帮助我们在特定的时间点或按照预设的周期执行某些功能,如数据收集、日志清理等。当我们需要终止某个正在运行的任务...
这些方法需要更新数据库中的相应记录,并通知Quartz重新加载任务配置。 4. **部署与测试**:项目部署在Tomcat服务器上,当服务器启动时,Quartz会自动加载数据库中的定时任务。通过监控日志或者定制的监控界面,...