Quartz的关键元素结构图:
二种Triger:
1.Simple triggers
2.Cron triggers
3.code
// Initiate a Schedule Factory
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
// Retrieve a scheduler from schedule factory
Scheduler scheduler = schedulerFactory.getScheduler();
// current time
long ctime = System.currentTimeMillis();
// Initiate JobDetail with job name, job group, and executable job class
JobDetail jobDetail =
new JobDetail("jobDetail-s1", "jobDetailGroup-s1", SimpleQuartzJob.class);
// Initiate SimpleTrigger with its name and group name
SimpleTrigger simpleTrigger =
new SimpleTrigger("simpleTrigger", "triggerGroup-s1");
// set its start up time
simpleTrigger.setStartTime(new Date(ctime));
// set the interval, how often the job should run (10 seconds here)
simpleTrigger.setRepeatInterval(10000);
// set the number of execution of this job, set to 10 times.
// It will run 10 time and exhaust.
simpleTrigger.setRepeatCount(100);
// set the ending time of this job.
// We set it for 60 seconds from its startup time here
// Even if we set its repeat count to 10,
// this will stop its process after 6 repeats as it gets it endtime by then.
//simpleTrigger.setEndTime(new Date(ctime + 60000L));
// set priority of trigger. If not set, the default is 5
//simpleTrigger.setPriority(10);
// schedule a job with JobDetail and Trigger
scheduler.scheduleJob(jobDetail, simpleTrigger);
// start the scheduler
scheduler.start();
三、Spring中的配置参见结构和调用方式
<description>Quartz的本地Cron式执行任务配置</description>
<!-- Quartz本地Schduler -->
<bean id="localQuartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<!-- Triggers集成 -->
<property name="triggers">
<list>
<ref bean="reportSenderTrigger" />
</list>
</property>
<!-- Quartz配置 -->
<property name="quartzProperties">
<props>
<prop key="org.quartz.threadPool.threadCount">5</prop>
</props>
</property>
<!-- 启动时延期3秒开始任务 -->
<property name="startupDelay" value="15" />
</bean>
<!-- Cron式Trigger定义 -->
<bean id="reportSenderTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="reportSenderDetail" />
<!-- 每天,朝九晚五工作时间内每50mins执行一次 -->
<property name="cronExpression" value="0 0/50 9-17 ? * *I" />
</bean>
<!-- Cron reportSenderDetail, 基于MethodInvokingJobDetailFactoryBean调用普通Spring Bean -->
<bean id="reportSenderDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="reportSender" />
<property name="targetMethod" value="execute" />
<!-- 同一任务在前一次执行未完成而Trigger时间又到时是否并发开始新的执行, 默认为true. -->
<property name="concurrent" value="true" />
</bean>
<!-- 被Cron执行的普通Spring Bean -->
<bean id="reportSender" class="org.eric.mrm.schedule.reportSenderJob" />
- 大小: 11.3 KB
分享到:
相关推荐
总结起来,`spring-context-support.jar`和`quartz-all-1.6.0.jar`的组合使用,为我们提供了强大的定时任务管理功能,结合Spring的bean管理和Quartz的调度能力,使得在Java应用中实现复杂任务调度变得轻而易举。...
总结来说,"spring-quartz-example"是一个很好的学习资源,它演示了如何在Spring环境中集成和配置Quartz,创建并管理定时任务。通过分析这个项目,开发者不仅可以掌握Spring与Quartz的结合使用,还能了解到如何设计...
总结起来,"spring-quartz-021"是一个学习和实践Spring与Quartz集成的实例,它展示了如何利用Spring的管理能力,配合Quartz的强大调度功能,实现基于corn表达式的定时任务。对于Java开发者来说,掌握这种集成方式能...
总结来说,`spring-context-support`是Spring框架中一个不可或缺的部分,它为开发者提供了丰富的工具和API,帮助实现各种企业级服务的集成,如定时任务、邮件服务、消息队列等。通过深入理解和熟练运用这一模块,...
总结来说,Spring的`spring-task`适合简单定时任务,而Quartz更适合复杂场景。通过注解方式配置定时任务简洁明了,适用于快速开发;非注解方式则提供了更大的灵活性,可以满足更多定制化需求。结合提供的文档和源码...
Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...
总结来说,通过Spring与Quartz的集成,我们可以方便地创建和管理定时任务。使用Maven进行部署,可以简化项目构建和运行的过程。在实际开发中,可以根据业务需求调整Quartz的配置和任务逻辑,以实现灵活、高效的定时...
总结起来,"spring-boot-web-restfulcrud" 示例项目展示了如何利用 Spring Boot 和 Spring MVC 实现一个基于 RESTful 的 CRUD 应用。这涵盖了从项目的初始化、Controller 的编写、服务层的设计到与数据库的交互等多...
Spring 和 Quartz 是两个在 Java 开发中非常重要的框架。Spring 是一个全面的后端开发框架,而 Quartz 是一个强大的任务调度库。在这个名为 "spring-quartz.zip" 的压缩包中,我们看到它们被整合在一起,用于实现...
7. **与其他技术的集成**:Spring框架与众多开源技术如Hibernate、MyBatis、Quartz、JMS等有良好的集成,4.3.13.RELEASE版本进一步提升了这些集成的稳定性,使得开发者能够无缝地将这些技术融入到Spring应用中。...
6. **集成性**:Spring与许多其他开源框架(如Hibernate、MyBatis、Quartz等)有良好的集成,可以无缝接入到现有的应用体系中。 四、Spring实战应用 在实际项目中,Spring框架广泛应用于各种场景,如后端服务、...
总结来说,Spring框架3.2.0.RELEASE是一个强大且全面的开发工具包,它的特性包括但不限于依赖注入、面向切面编程、Web开发、数据访问、集成其他服务以及测试支持。理解并掌握这个版本的Spring框架,对于Java开发者来...
总结来说,Spring整合Quartz涉及到配置Scheduler、定义Job和Trigger、关联它们,并根据需要进行动态管理。这个过程涉及到Spring的依赖注入、配置管理以及Quartz自身的API使用,对于构建具有定时任务功能的应用非常...
总结来说,"spring-quartz"是一个利用Spring和Quartz构建的动态定时任务系统,它允许从数据库读取任务配置,实现了定时任务的灵活管理和维护。理解和掌握这个整合,对于提升Java应用的自动化处理能力至关重要。
- 作业调度:集成Quartz作业调度器,可设置定时任务,自动执行作业。 - 安全控制:通过Spring Security进行权限控制,保护敏感作业数据。 4. **安装与配置** - 下载Spring Batch Admin 1.3.0.RELEASE压缩包,...
总结起来,"spring3.0+quartz-1.6.0定时"的实现涉及到Spring框架的定时任务支持和Quartz库的结合使用,通过Spring的配置管理Quartz调度器,定义任务和触发器,最后编写具体任务逻辑的Java类。这种组合在实际项目中...
总结来说,Spring结合Quartz库,提供了一种高效且灵活的方式来实现定时任务。通过定义Job和Trigger,我们可以轻松地创建按需执行的任务,并且可以利用Spring的其他特性,如AOP、DI等,增强任务的可维护性和复用性。...
总结来说,Spring框架4.3.0.RELEASE是一个强大且灵活的开发工具,它的IOC、AOP、声明式事务管理等功能,以及对其他框架的集成,使得Java开发变得更加高效和便捷。无论是在小型项目还是大型企业级应用中,Spring都能...
总结来说,Spring Boot 2.3与Quartz的集成使得我们可以轻松创建和管理定时任务。通过持久化到数据库并启用集群模式,我们可以确保在多节点环境中任务的正确性和一致性。在实际应用中,你可以根据需求调整任务的触发...