使用spring封装的quartz来实现。
代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-lazy-init="true">
<bean id="genDashboard"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="com.xxx.package.proxy.report.ResourceProxy" />
</property>
<property name="targetMethod">
<value>runCioDashboard</value>
</property>
</bean>
<bean id="gengenDashboardCronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="genDashboard"/>
</property>
<property name="cronExpression">
<value>0 52 17 ? * WED</value>
</property>
</bean>
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="gengenDashboardCronTrigger"/>
</list>
</property>
</bean>
</beans>
对于复杂触发器的cronExpression,可借鉴linux的cron。
关于cronExpression的介绍:
字段 允许值 允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选) 留空, 1970-2099 , - * /
表达式意义
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发
每天早上6点
0 6 * * *
每两个小时
0 */2 * * *
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * *
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3
1月1日早上4点
0 4 1 1 *
分享到:
相关推荐
总的来说,"Quartz+Spring定时触发器例子"是一个实用的学习资源,它将帮助你理解如何在实际项目中利用Quartz和Spring来实现定时任务,提升你的后端开发能力。在实践中,你可以根据需求创建不同的Job和Trigger,以...
这篇笔记将深入探讨如何使用Spring与Quartz结合来实现触发器的示例。 首先,Quartz是一个开源的作业调度框架,它允许开发者定义任务并在预定的时间点执行。Spring则是一个强大的应用框架,提供了依赖注入(DI)和...
通过上述步骤,我们就可以在Spring应用中实现Quartz触发器的使用,从而实现定时任务的调度。在实际项目中,我们可以根据业务需求,设计不同的Job和Trigger,以满足各种复杂的定时任务场景。例如,可以设置每日凌晨...
Spring Trigger是Spring框架的一部分,主要用于实现定时任务调度。在Java项目中,我们常常需要执行一些周期性的任务,比如数据同步、日志清理等,这时Spring Trigger就发挥了关键作用。它基于Quartz Scheduler库,...
以下是对如何在 Spring 中添加触发器并结合 Quartz 实现定时功能的详细解释: 1. **Quartz 概述** - Quartz 是 Java 平台上用于创建、调度和执行计划任务的开源库。它提供了丰富的 API 和调度功能,支持简单任务到...
总结起来,Spring 2.0和2.5版本的定时触发器功能是通过`TaskExecutor`和`TaskScheduler`接口以及`@Scheduled`注解实现的,提供了强大且灵活的定时任务管理能力,极大地丰富了Spring框架在企业级应用中的应用场景。...
### Spring 定时任务触发器配置详解 #### 一、Spring 定时任务概述 Spring 框架作为 Java 领域内领先的轻量级应用程序框架,提供了强大的功能支持来帮助开发者构建健壮的企业级应用。其中,定时任务功能在诸如数据...
在这个小实例中,我们将探讨如何使用Spring框架的`TaskScheduler`接口和Quartz库来实现这样的功能。 首先,我们来看`TaskScheduler`接口。Spring框架提供了`TaskScheduler`接口,它定义了调度任务的方法,如`...
在Spring MVC应用中,使用触发器可能是为了在数据修改时执行某些额外的业务逻辑,如日志记录或数据验证。不过,直接在业务层使用触发器可能会增加系统的复杂性,因此通常只在确实需要数据库层面的自动化操作时才使用...
在提供的"webJob"文件中,可能包含了使用Java和Web环境实现的Job和触发器的例子,可能涉及到Servlet、Filter或其他Web组件的集成。这可能是一个完整的Web应用,其中包含了定时任务的配置和实现。 总的来说,Java ...
在这个“quartz_springbatch_dynamic”项目中,我们将看到如何将这两个强大的工具结合起来,以实现动态集群环境中的定时任务执行,并使用MySQL作为数据存储。 Quartz是一个开源的作业调度框架,允许开发者创建、...
使用Quartz,你可以创建复杂的任务调度,包括定时、触发器和工作细节等。首先,你需要在你的项目中引入Quartz的依赖。然后,创建Job类,实现`org.quartz.Job`接口,定义你的任务逻辑。接着,创建Trigger来指定任务的...
总结来说,要使用Spring实现任务的自动调度,你需要包含`quartz-all-1.8.4.jar`以及Spring的相关依赖。然后在Spring配置文件中定义`SchedulerFactoryBean`、`JobDetail`和`Trigger`,并实现具体的`Job`类。这样,就...
Spring框架提供了强大的任务调度能力,使得开发者能够轻松地在Java环境中实现这一功能。本篇将深入探讨如何利用Spring进行任务调度,并结合代码演示和Quartz库的使用来丰富这一主题。 首先,Spring提供了两种主要的...
Spring框架提供了多种方式来实现定时任务,这使得开发者可以在不同场景下选择最适合的方案。本文主要探讨了Spring中实现定时任务的三种主要方法:Java的`java.util.Timer`、Quartz库以及Spring自身的Task调度器。 ...
时间触发器的核心概念是调度器,Java世界中有多种库可以实现这一功能,如Quartz、Spring的`@Scheduled`注解和`java.util.Timer`类。下面将分别介绍这些实现方式: 1. **Quartz**:Quartz是一个开源的工作调度框架,...
Spring框架提供了一系列工具来支持定时任务的实现,其中包括Spring自带的`spring-task`模块和第三方的Quartz库。下面我们将详细探讨这两种方式以及如何通过注解和非注解的方式进行配置。 首先,`spring-task`是...
以上就是使用Spring自带Quartz实现定时处理的基本步骤。在实际应用中,你可以根据需求调整Job的执行频率、处理逻辑,甚至实现更复杂的调度策略,如并发控制、任务持久化等。通过Spring与Quartz的结合,我们可以方便...
这个服务器可能是一个简单的RESTful API,使用Spring Boot或Jersey等框架构建。接收到请求后,它会执行相应的业务逻辑,如数据处理、通知其他系统等。 这种Oracle-Java集成方案的优点是实时性高,因为数据一旦插入...
Spring对Quartz进行了集成,使其更易于在Spring应用程序中使用。Spring提供了`FactoryBean`类,如`SchedulerFactoryBean`,用于创建和管理Quartz的`Scheduler`实例。这使得我们可以利用Spring的依赖注入(DI)和管理...