http://blog.csdn.net/zdsxj2002/archive/2006/01/16/581011.aspx
编程调度同声明性调度
例3中,我们通过编程的方法调度我们的ScanFTPSiteJob作业。就是说,我们用Java代码来设置作业和触发器。Quartz框架也支持在xml文件里面申明性的设置作业调度。申明性方法允许我们更快速地修改哪个作业什么时候被执行。
Quartz框架有一个插件,这个插件负责读取xml配置文件。xml配置文件包含了关于启动Quartz应用的作业和触发器信息。所有xml文件中的作业连同相关的触发器都被加进调度器。你仍然需要编写作业类,但配置那些作业类的调度器则非常动态化。例4展示了一个用申明性方式执行与例3代码相同的逻辑的xml配置文件。
例4.能使用xml文件调度的作业
你可以将xml文件中的元素跟例3代码作个比较,它们从概念上来看是相同的。使用例4式的申明性方法的好处是维护变得极其简单,只需改变xml配置文件和重新启动Quartz应用即可。无须修改代码,无须重新编译,无须重新部署。
有状态和无状态作业
在本文中你所看到的作业到是无状态的。这意味着在两次作业执行之间,不会去维护作业执行时JobDataMap的状态改变。如果你需要能增、删,改JobDataMap的值,而且能让作业在下次执行时能看到这个状态改变,则需要用Quartz有状态作业。
如果你是一个有经验的EJB开发者的话,深信你会立即退缩,因为有状态带有负面含义。这主要是由于EJB带来的伸缩性问题。Quartz有状态作业实现了org.quartz.StatefulJob接口。
无状态和有状态作业的关键不同是有状态作业在每次执行时只有一个实例。大多数情况下,有状态的作业不回带来大的问题。然而,如果你有一个需要频繁执行的作业或者需要很长时间才能完成的作业,那么有状态作业可能给你带来伸缩性问题。
Quartz框架的其他特征
Quartz框架有一个丰富的特征集。事实上,quarts有太多特性以致不能在一种情况中全部领会,下面列出了一些有意思的特征,但没时间在此详细讨论。
分享到:
相关推荐
5. **错误处理与重试机制**:当作业执行过程中发生严重错误时,Quartz能够检测到执行失败,并尝试重新执行,确保任务的完整性。 6. **Job接口与execute()方法**:使用Quartz时,你需要创建一个实现`org.quartz.Job`...
- **入门指南**:介绍如何引入Quartz库到项目中,创建第一个Job和Trigger的基本步骤。 - **核心概念**:详细讲解Job、Trigger、Calendar、Scheduler等核心概念,以及它们之间的关系。 - **任务实现**:解释如何...
- Quartz API、作业和触发器:详细讲解了Quartz的API,以及作业和触发器的设计和工作方式。 - 高级(企业级)特性:包括集群、JTA事务等,对于需要高度可靠性和可扩展性的应用来说,这部分尤为重要。 - 其他特性:...
千锋2020新版的JavaSE基础从入门到精通视频提供了全面的讲解,适合小白入门。 2. **JavaWeb** - 在掌握了JavaSE之后,进入第二阶段,JavaWeb的学习包括Servlet、JSP、HTML、CSS、JavaScript以及AJAX等前端技术。...
1. **Quartz如何从入门到精通.doc**:Quartz是Java中的一个开源作业调度框架,用于在应用程序中安排任务执行。它允许开发者创建、调度和管理作业,以执行特定时间或周期性的任务。文档可能包括了基础概念如Job、...
《Spring Boot深度解析:从入门到精通》 Spring Boot是由Pivotal团队提供的全新框架,其设计目标是用来简化新Spring应用的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如JDBC、MongoDB、JPA、RabbitMQ...