`
ziyu_1
  • 浏览: 194163 次
  • 来自: ...
社区版块
存档分类
最新评论

Spring Quartz如何动态配置时间(1)

阅读更多
1. 目的:动态设置时间,触发相应的任务


2. 系统架构为 struts + spring + hibernate


3. 实现步骤:
在页面上设置时间;
将时间转换为Unix Cron Expression;
将转换后的时间规则表达式记录到数据库中(也可以写入xml文件中,这里是项目需要记录入数据库中);
从数据库中得到相应的时间规则表达式;
更新您的任务触发器的时间设置;
RESCHEDULE THE JOB。; - )
4. 具体实现细节:

1) 在页面上设置时间
根据具体的业务需求,设置时间规则,下面以某一项目为例,需要 按每月、每周、自定义分为三种规则。
1   < tr >
2             < th > 执行这个任务 </ th >
3             < td   style ="font-weight:bold;" >
4              < html:radio   property ="everyWhat"   styleClass ="InputBorderNone"   value ="monthly"   onclick ="changeStatus(this.value)" > 每月 </ html:radio >
5              < html:radio   property ="everyWhat"   styleClass ="InputBorderNone"   value ="weekly"   onclick ="changeStatus(this.value)" > 每周 </ html:radio >
6              < html:radio   property ="everyWhat"   styleClass ="InputBorderNone"   value ="userDefined"   onclick ="changeStatus(this.value)" > 自定义 </ html:radio >
7              < html:hidden   property ="jobName"   value ="compare"    />
8             </ td >
9   </ tr >
10 
每月则需要选择该月的第几个星期的星期几
1   < tr   style ="display:"   id ="whichWeek" >
2             < th > 选择第几个星期 </ th >
3             < td   style ="font-weight:bold;" >
4              < html:select   property ="week" >
5               < html:option   value ="1" > 一 </ html:option >
6               < html:option   value ="2" > 二 </ html:option >
7               < html:option   value ="3" > 三 </ html:option >
8               < html:option   value ="4" > 四 </ html:option >
9              </ html:select >
10              < html:select   property ="dayOfMonth" >
11               < html:option   value ="1" > 星期日 </ html:option >
12               < html:option   value ="2" > 星期一 </ html:option >
13               < html:option   value ="3" > 星期二 </ html:option >
14               < html:option   value ="4" > 星期三 </ html:option >
15               < html:option   value ="5" > 星期四 </ html:option >
16               < html:option   value ="6" > 星期五 </ html:option >
17               < html:option   value ="7" > 星期六 </ html:option >
18              </ html:select >
19            </ td > 
20    </ tr >
21 
每周则需要选择星期几
1   < tr   style ="display:none"   id ="whichDay" >
2             < th > 选择星期 </ th >
3             < td   style ="font-weight:bold;" >
4              < html:select   property ="dayOfWeek" >
5               < html:option   value ="1" > 星期日 </ html:option >
6               < html:option   value ="2" > 星期一 </ html:option >
7               < html:option   value ="3" > 星期二 </ html:option >
8               < html:option   value ="4" > 星期三 </ html:option >
9               < html:option   value ="5" > 星期四 </ html:option >
10               < html:option   value ="6" > 星期五 </ html:option >
11               < html:option   value ="7" > 星期六 </ html:option >
12              </ html:select >
13           </ td > 
14     </ tr >
15 
自定义则选择具体的日期,如 2007-1-10

三种规则都需要设定时间点
1   < tr >
2             < th > 起始时间 </ th >
3             < td   style ="font-weight:bold;" >
4              < html:select   property ="timeType"   styleId ="type"   onchange ="changeStatus2(this.value)" >
5               < html:option   value ="AM" > 上午 </ html:option >
6               < html:option   value ="PM" > 下午 </ html:option >
7              </ html:select >
8              < html:select   property ="hour"   styleId ="amHours" >
9               < html:option   value ="1" > 1 </ html:option >
10               < html:option   value ="2" > 2 </ html:option >
11               < html:option   value ="3" > 3 </ html:option >
12               < html:option   value ="4" > 4 </ html:option >
13               < html:option   value ="5" > 5 </ html:option >
14               < html:option   value ="6" > 6 </ html:option >
15               < html:option   value ="7" > 7 </ html:option >
16               < html:option   value ="8" > 8 </ html:option >
17               < html:option   value ="9" > 9 </ html:option >
18               < html:option   value ="10" > 10 </ html:option >
19               < html:option   value ="11" > 11 </ html:option >
20               < html:option   value ="12" > 12 </ html:option >
21              </ html:select >
22              < html:select   property ="hour"   styleId ="pmHours"   style ="display:none" >
23               < html:option   value ="13" > 13 </ html:option >
24               < html:option   value ="14" > 14 </ html:option >
25               < html:option   value ="15" > 15 </ html:option >
26               < html:option   value ="16" > 16 </ html:option >
27               < html:option   value ="17" > 17 </ html:option >
28               < html:option   value ="18" > 18 </ html:option >
29               < html:option   value ="19" > 19 </ html:option >
30               < html:option   value ="20" > 20 </ html:option >
31               < html:option   value ="21" > 21 </ html:option >
32               < html:option   value ="22" > 22 </ html:option >
33               < html:option   value ="23" > 23 </ html:option >
34               < html:option   value ="0" > 0 </ html:option >
35              </ html:select >   点
36               < html:text   property ="minute"   name ="minute"   style ="width:20px;"   value ="0"   onchange ="valTime(this.value)"    />   分
37               < html:text   property ="second"   name ="second"   style ="width:20px;"   value ="0"   onchange ="valTime(this.value)"    />   秒(0-59之间的整数)
38         </ td > 
39   </ tr >
40 
OK. 这样我们的页面设置就完成了。: - )
分享到:
评论

相关推荐

    Spring Quartz如何动态配置时间

    Spring Quartz 动态配置时间 Spring Quartz 是一个功能强大的任务调度框架,广泛应用于 Java 企业级应用程序中。其中一个重要的功能便是动态配置时间,触发相应的任务。在本文中,我们将讨论如何使用 Spring Quartz...

    Spring Quartz动态配置时间.rar

    这个压缩包“Spring Quartz动态配置时间.rar”包含的PDF文档很可能是关于如何在Spring框架中使用Quartz进行动态配置时间的详细教程。下面将详细介绍Spring集成Quartz进行动态任务调度的相关知识点。 1. **Quartz...

    spring mvc quartz 动态设置时间

    【Spring MVC + Quartz 动态设置时间】 在Java Web开发中,Spring MVC和Quartz库经常被用来构建灵活的任务调度系统。Quartz是一个强大的、开放源码的作业调度框架,可以用于创建、调度和执行重复任务。而Spring MVC...

    spring quartz 非配置动态定时

    本话题主要关注如何在Spring中结合Quartz实现非配置动态定时任务,这允许我们在运行时动态地添加、修改或删除定时任务,而无需修改配置文件。 首先,我们需要理解Spring对Quartz的支持。Spring通过`org.spring...

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...

    SpringQuartz的使用文档

    SpringQuartz是一个强大的任务调度框架,它在Java应用程序中用于自动化执行特定任务,如定时生成文件、统计数据或执行后台清理工作。Quartz是开源的,具有高度灵活的调度功能,能够根据预定义的时间表触发任务,同时...

    关于spring中quartz的配置

    以下将详细介绍如何在Spring中配置Quartz以及相关知识点。 1. **引入依赖** 在开始配置之前,首先需要在项目的`pom.xml`或`build.gradle`文件中引入Quartz和Spring相关的依赖库。对于Maven项目,可以添加如下依赖...

    quartz整合springbatch动态集群定时实现mysql参考

    1. **Quartz配置**:定义了调度器、作业和触发器的配置,可能使用了`org.springframework.scheduling.quartz.SchedulerFactoryBean`来初始化Quartz。 2. **Spring Batch配置**:包含了作业和步骤的定义,以及读取和...

    spring quartz 表达式在线生成器

    Spring Quartz的表达式通常基于Cron表达式,这是一种特殊的时间格式,用于定义任务的执行周期。例如,“0 0 12 * * ?”表示每天中午12点执行一次任务。在线生成器则提供了一个友好的界面,让开发者输入各种参数,如...

    Spring整合quartz2.2.3总结,quartz动态定时任务,Quartz定时任务集群配置

    1. 添加依赖:确保项目中引入了Spring和Quartz的相关库,包括`spring-context-support`和`quartz`。 2. 配置Scheduler:在Spring的配置文件中,使用`SchedulerFactoryBean`来初始化和配置Quartz Scheduler。可以...

    spring quartz集群配置

    Spring Quartz 集群配置详解 在分布式系统中,定时任务的管理往往是一个重要的环节,Spring与Quartz的结合能够帮助我们实现复杂的工作调度。Quartz是一个开源的作业调度框架,它提供了高度可配置的定时任务执行能力...

    springQuartz.zip

    1. **Quartz简介**:Quartz是开源的作业调度框架,它允许应用程序定义和调度任务,以便在特定的时间点或按照特定的周期执行。Quartz支持CRON表达式,可以创建基于时间的复杂调度规则。 2. **Spring与Quartz的集成**...

    Spring中Quartz的配置

    ### Spring中Quartz的配置详解 #### 一、前言 Spring框架因其强大的功能和灵活性在企业级应用开发中占据了一席之地。其中,对于定时任务的支持,Spring结合了Quartz这一优秀的开源任务调度框架,提供了更为灵活和...

    spring Quartz的jar包

    1. **配置**:在Spring应用上下文配置文件中,你需要声明一个SchedulerFactoryBean实例,它是Quartz调度器的Spring bean。通过设置相关的属性,如jobStoreType(用于持久化Job状态的存储类型)、triggers(定义任务...

    spring quartz 时间调用框架

    **Spring Quartz时间调用框架详解** Spring Quartz是一个在Spring框架中集成的时间调度插件,它允许开发者方便地创建和管理定时任务。Quartz是Java领域的一款功能强大的作业调度库,而Spring通过其优秀的IoC...

    spring+quartz demo

    1. **Spring 配置 Quartz**: 在 Spring 的配置文件(如 `applicationContext.xml`)中,我们需要引入 Quartz 的配置,并声明一个 `SchedulerFactoryBean` 来实例化和配置 Quartz Scheduler。这通常包括定义数据源...

    spring quartz定时任务demo

    总的来说,“spring quartz定时任务demo”提供了一个直观的教程,帮助开发者理解如何在Spring项目中配置和使用Quartz进行定时任务的创建和管理。通过这个例子,你可以快速学习到如何定义Job,如何配置Trigger,以及...

    动态加载属性文件与SpringQuartz的应用

    同时,Spring Quartz的作业和触发器配置可以引用这些动态加载的属性。例如,使用`@Value`注解从属性文件中注入触发器的cron表达式,或者在`@Scheduled`注解中使用表达式来动态设置执行间隔。 总结来说,动态加载...

Global site tag (gtag.js) - Google Analytics