`
michael8335
  • 浏览: 187588 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Quartz中的Job和StatefulJob

阅读更多
在定时任务Quartz中如果要创建一个Job,可以实现Job或者StatefulJob,那Job和StatefulJob的区别是什么呢??
Job:普通的任务,或者说无状态的任务,在JobDetail执行之后,不会记录状态
StatefulJob:继承自Job,由于在定义时添加了@PersistJobDataAfterExecution注释,所以是有状态的任务,在Schedule执行完triger之后,会将实现了该接口的任务状态记录到数据库中,所以要是有状态的定时任务
0
3
分享到:
评论

相关推荐

    quartz有状态Job和无状态Job

    在Quartz调度器中,根据Job是否能够保持状态,可以将其分为两类:有状态Job(Stateful Job)和无状态Job( Stateless Job)。这两种类型的Job在实现上有所不同,并且它们在应用场景中也各具特色。 #### 二、无状态Job ...

    quartz job 配置手册

    - 在集群环境中,Quartz可以确保Job只在集群中的一个节点上执行,防止多台服务器同时执行同一Job,通过`StatefulJob`接口和`@DisallowConcurrentExecution`注解可以实现这一功能。 - `CalendarIntervalTrigger`...

    Quartz 线程池

    2. **使用合适的 Job 类型**:对于计算密集型任务,可以选择使用 StatefulJob,保证每次执行都在新的线程中;而对于无状态任务,使用 StatelessJob 可以提高效率。 3. **监控与调整**:实时监控 Quartz 的运行状态...

    quartz 在WEB中应用小结

    1. 创建Job:通过实现`org.quartz.Job`接口或者继承`org.quartz.StatefulJob`(状态感知Job,每次执行时都会创建一个新的实例)来定义自己的作业。在`execute(JobExecutionContext context)`方法中编写业务逻辑。 2...

    quartz简易定时器

    - 在`quartz.xml`中,可以定义Job和Trigger的关系,以及Job的详细属性。 3. **创建Job** - 自定义Job类需继承自`org.quartz.Job`或`org.quartz.StatefulJob`(状态感知Job),并实现`execute(JobExecutionContext...

    Quartz_Job

    与Java自带的`java.util.Timer`和`TimerTask`相比,Quartz提供了更强大的功能,包括更复杂的调度策略和更好的线程管理,特别适合在Web应用中使用。 Quartz的核心由三个主要概念构成:Scheduler、Job和Trigger。 1....

    quartz定时调度完整实例

    - **Job持久化**:Quartz支持将Job和Trigger存储在数据库中,确保系统重启后还能继续执行未完成的任务。 - **集群支持**:在多服务器环境中,Quartz能实现负载均衡,保证任务的可靠执行。 - **插件扩展**:如...

    spring2.0 Quartz 执行每天定时任务 建议用quartz-all-1.8.4.jar更稳定,兼容性更好

    要详细了解如何实现每天定时任务,你需要查看这些内容,例如Job类的实现、配置文件(如`quartz.properties`)以及如何在Spring中配置Trigger和Scheduler。 总之,Spring 2.0与Quartz的集成使得在Java应用中创建和...

    Spring_QuartZDemo

    我们可以通过实现`org.quartz.Job`接口或者继承`org.quartz.StatefulJob`(如果任务状态需要保留)来定义自己的Job。 ```java public class MyJob implements Job { @Override public void execute...

    Quartz学习笔记

    你可以通过实现`org.quartz.Job`接口或者继承`org.quartz.StatefulJob`(如果任务状态需要保留)来创建自定义Job。Job实例在每次执行时都会被创建,因此不应该在Job类中存储任何状态信息。 2. **Trigger**: ...

    quartz界面化持久化管理

    - 开发者需要继承`org.quartz.Job`接口或`org.quartz.StatefulJob`接口,实现`execute(JobExecutionContext context)`方法来编写实际的业务逻辑。 4. **Trigger配置**: - 使用`org.quartz.CronTrigger`或`org....

    quartz完整资料

    - Quartz 2.1.3支持JDBCJobStore,将Job和Trigger的信息存储在数据库中,保证服务器重启后任务不丢失。 6. **插件与扩展** - Email插件:可以配置发送触发任务后的邮件通知。 - Job监听器和Trigger监听器:监听...

    spring的quartz使用实例

    Job是Quartz的核心接口,需要实现`org.quartz.Job`接口或其子接口`org.quartz.StatefulJob`。在Spring中,通常会使用`org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean`来包装一个带有@...

    quartz-1.8.6.jar

    在Spring框架中集成Quartz,可以方便地管理和调度Job(任务)。标题提到的是"quartz-1.8.6.jar",这表明我们正在讨论的是Quartz的一个特定版本,1.8.6。 集成Quartz到Spring的主要目的是利用Spring的依赖注入(DI)...

    quartz-2.3.0-distribution.zip

    - Job持久化:Quartz支持将Job和Trigger信息存储在数据库中,确保系统重启后任务能够恢复执行。 - Job状态管理:可以通过`JobExecutionContext`获取和设置Job的运行状态。 - 群组管理:Job和Trigger可以分组管理...

    springmvc+mybatis+动态定时器quartz

    在实际应用中,创建一个Quartz Job通常需要实现`org.quartz.Job`接口或继承`org.quartz.StatefulJob`(如果需要保持Job实例的状态)。然后,定义一个Trigger,并将其与Job关联。在Spring中,可以使用`@Component`...

    Spring-Quartz

    Job可以通过实现`org.quartz.Job`接口或继承`org.springframework.scheduling.quartz.StatefulJob`(如果需要状态性)或`org.springframework.scheduling.quartz.SimpleJob`(简单任务)来定义。Trigger则通过...

    quartz2.2.1jar.zip

    5. Quartz配置:在项目中,通常会有一个配置文件(如`quartz.properties`)来设置Quartz的行为,例如数据库存储Job和Trigger、线程池大小、错误处理策略等。 6. 存储策略:Quartz支持内存存储和持久化存储,如关系...

    quartz的项目源码——用于和文章配套学习

    - 创建Job类:你需要实现`org.quartz.Job`接口或继承`org.quartz.StatefulJob`(状态ful Job,每次触发都会创建新的实例)来定义自己的Job类。 - 定义Trigger:通过实现`org.quartz.Trigger`接口,或使用更常见的`...

    quartzDemo任务调度例子

    任务是通过实现`org.quartz.Job`接口或继承`org.quartz.StatefulJob`来创建的,它们包含实际要执行的业务逻辑。触发器则通过设定时间规则,如cron表达式或日期间隔,来决定任务的执行频率。 3. **CronTrigger与...

Global site tag (gtag.js) - Google Analytics