`

spring 指定时间执行定时器

    博客分类:
  • J2EE
阅读更多
<!-- 定时执行 开始 -->
<bean id="methodInvokingJobDetail"
  class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  <property name="targetObject">
  <ref bean="chargelogDao" />
  </property>
  <property name="targetMethod">
  <value>dingshi</value>
  </property>
</bean>
<bean id="cronTrigger"
  class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail">
  <ref bean="methodInvokingJobDetail" />
  </property>
  <property name="cronExpression">
  <value>0 1 6,16,20 * * ?</value>
  <!-- 0 0 10,14,16 * * ? 每天上午10点,下午2点,4点-->
  </property>
</bean>
<bean
  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="triggers">
  <list>
  <ref local="cronTrigger" />
  </list>
  </property>
</bean>
<!-- 定时执行 结束 -->

chargelogDao为定时执行的类,dingshi为定时执行的方法

时间设置说明:
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
按顺序依次为 
1.秒(0~59) 
2.分钟(0~59) 
3.小时(0~23) 
4.天(月)(0~31,但是你需要考虑你月的天数) 
5.月(0~11) 
6.天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT) 
7.年份(1970-2099)

其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。
由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?. 

0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ??? 朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点 

有些子表达式能包含一些范围或列表 
例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT” 

“*”字符代表所有可能的值 
因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天 

“/”字符用来指定数值的增量 
例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟 ;
在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样 

“?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值 
当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?” 


“L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写 

但是它在两个子表达式里的含义是不同的。 

在天(月)子表达式中,“L”表示一个月的最后一天 ,
在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT 

如果在“L”前有具体的内容,它就具有其他的含义了 

例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最后一个星期五 

注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题
分享到:
评论

相关推荐

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

    接着,我们定义了 CronTriggerBean,以便指定任务的执行时间。 Cron 表达式 Cron 表达式是一个字符串,用于指定任务的执行时间。它由七个字段组成:秒、分、小时、月内日期、月、周内日期和年。我们可以使用特殊...

    springAop与spring定时器

    `@Scheduled`注解可以标注在方法上,声明该方法为定时任务,可以设置cron表达式或fixedRate/fixedDelay参数来指定执行频率。`TaskScheduler`接口提供了更灵活的调度任务的方式,可以自定义调度策略。 为了启用...

    spring java 定时器 执行两次 quartz

    当我们遇到Spring定时器执行两次或者更多次的问题时,这通常是由于配置不当或者多线程并发导致的。下面将详细介绍如何使用Spring集成Quartz,以及解决定时任务重复执行的问题。 首先,让我们了解Spring如何配置...

    spring定时器时间配置

    ### Spring 定时器时间配置详解 在Spring框架中,定时任务是非常常见且重要的功能之一。通过使用`org.springframework.scheduling.quartz.CronTriggerBean`类,开发人员能够灵活地控制任务执行的时间点。本文旨在...

    spring 定时器的两种实现

    接着,创建Trigger来指定任务的执行时间,最后将Job和Trigger关联起来,交由Scheduler管理。 ```java @Service public class QuartzJob { @Autowired private Scheduler scheduler; public void scheduleJob()...

    java Spring OpenSymphony的Quartz定时器的时间设置

    ### Java Spring 中 OpenSymphony 的 Quartz 定时器时间设置详解 #### 一、Spring定时器的两种实现方式概述 在Java Spring框架中,开发者有多种选择来实现定时任务的功能,其中最为流行的两种方式分别是使用Java...

    spring和java定时器

    这里用到的`Timer`类是Java标准库中的定时器,它可以按照预设的时间间隔或绝对时间点执行任务,但其功能相对简单,不适合处理复杂的调度需求。 总结起来,Spring的定时任务通过Quartz库提供了更强大和灵活的定时...

    java 定时器 spring 定时器

    Java定时器和Spring定时器是Java开发中用于执行周期性任务的重要工具,它们在系统维护、数据同步、报告生成等场景中发挥着关键作用。本文将深入探讨这两个概念,以及如何在Spring框架中配置和使用定时器。 首先,...

    spring 执行定时器触发器文档

    - **应用场景**:适合于需要按照特定周期执行的任务,如每天固定时间执行或每周固定时间执行。 #### 三、Cron 表达式详解 Cron 表达式是用于定义任务执行时间的一种文本格式,尤其适用于 CronTrigger 类型的触发器...

    spring定时器简单的demo

    `@Scheduled`注解可以设置多个参数,如`cron`用于指定cron表达式,`fixedDelay`或`fixedRate`用于设置间隔时间。 例如,以下是一个每隔5秒执行一次的简单定时任务: ```java import org.springframework.scheduling...

    spring定时器

    **注意**:在使用注解定时器时,需要确保Spring容器能够扫描到带有`@Scheduled`注解的类,通常通过`@ComponentScan`注解指定扫描包路径。 ##### 2. 基于XML配置的定时器 对于复杂的定时任务需求,基于XML配置的...

    spring定时器简单实例

    Spring定时器,也被称为Spring Boot的定时任务,是Spring框架中的一个强大功能,它允许开发者在特定的时间间隔执行任务,而无需手动管理线程。在实际的开发中,这一特性常用于实现数据清理、统计计算、发送邮件等...

    spring管理quart实现定时器功能

    Quartz是一个开源的作业调度框架,允许程序创建和管理作业以及触发作业执行的时间表。它提供了强大的调度能力,包括简单的单次执行、周期性执行,甚至复杂的表达式调度。 在Spring中集成Quartz,主要通过以下步骤:...

    spring和quartz的定时器的启动和停止例子

    而Quartz则是一个开源的作业调度库,它允许开发者在指定的时间执行任务,例如定期备份数据库、发送邮件等。 要使用Quartz与Spring结合,我们需要进行以下步骤: 1. **引入依赖**:在项目中添加Quartz和Spring的...

    spring定时器demo

    这里,`ref`属性指定任务bean,`method`属性指定执行的方法,`fixed-rate`同样表示间隔时间。 3. **Cron表达式定时任务** `@Scheduled`还可以接受一个`cron`参数,用于指定符合cron表达式的执行时间。例如: ```...

    spring 定时器完整实例 demo

    最后,确保你的Spring Boot应用正常启动,`MyScheduledService`中的`executeTask`方法就会按照指定的`cronExpression`定时执行。 这个实例展示了如何在Spring中设置一个基于`cronExpression`的定时任务。`Task...

    定时器的配置文件(两种方式:springmvc自带定时,Quartz与spring结合的定时)

    然后创建一个`CronTrigger`或`SimpleTrigger`来指定执行计划。 ```java import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class MyJob ...

    web spring 定时器

    - **定义Job和Trigger**:在Spring中,你可以定义一个实现了`org.quartz.Job`接口的类作为任务,然后创建一个`CronTrigger`或`SimpleTrigger`来指定执行规则。 - **注册Job和Trigger**:通过`Scheduler`实例将Job...

    java定时器结合spring

    Java定时器结合Spring框架可以创建灵活且可扩展的定时任务,这种技术在许多企业级应用中非常常见,用于执行周期性的后台任务,如数据清理、报告生成或服务调用等。下面将详细介绍如何在Spring中集成Java定时器,并...

    quartz和spring整合实现的定时器

    3. **定义JobDetail**:创建JobDetailBean,指定Job的名称、组名以及执行类。 ```xml &lt;bean id="testJob" class="org.springframework.scheduling.quartz.JobDetailBean"&gt; ``` 4. **定义Trigger**:创建...

Global site tag (gtag.js) - Google Analytics