`

Quartz任务的连锁执行

阅读更多
在任务高度中,当任务执行完后,可能要做一些事情,比如日志等.
上一节是执行固定次数的程序,监听的是Trigger,使用TriggerListner
这一节是执行完这个任务后执行日志,监听的是Job, 使用JobListener.
废话不多,代码如下:
package test.quartz.spring;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.listeners.JobListenerSupport;

public class JobListener extends JobListenerSupport {
	
	private String name;

	public void setName(String name){
		this.name= name; 
	}
	
	public String getName() {
		// TODO Auto-generated method stub
		return this.name;
	} 
	public void jobWasExecuted(JobExecutionContext context,
			JobExecutionException jobException) {
		System.out.println("jobWasExecuted");
		System.out.println("我要执行另一个任务了!~");

	}

}

配置如下jobListener:
   <bean id="jobListener" class="test.quartz.spring.JobListener">
    	<property name="name">
    		<value>jobListener</value>
    	</property> 
    </bean>

配置listnener到JobDetail:
 <bean id="jobtask" class="org.springframework.scheduling.quartz.JobDetailBean">
    	<property name="jobClass">
    		<value>test.quartz.spring.TJob</value>
   		</property>
   		<property name="jobListenerNames">
   			 <list>  
	           <value>jobListener</value>  
	        </list>  
   		</property>
    </bean>

配置listener到Scheduler:
 <bean autowire = "no" class = "org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref local ="cron"/>
            </list>
        </property>
        <!-- 添加监听器 -->
        <property name="triggerListeners">  
            <list>  
                <ref bean="triggerListener"/> 
            </list>  
        </property>  
        <property name="jobListeners">
        	<list>
        		<ref bean="jobListener"/>
        	</list>
        </property>
        
    </bean>

这里使用的是监听器来监控线程的执行情况,并在合适的时间做相应的处理。
比如任务调度的日志是必须的,这样可以查看调度任务的执行情况
分享到:
评论

相关推荐

    Quartz.net作业调度自定义定时执行任务多任务执行c#

    在"Quartz.net作业调度自定义定时执行任务多任务执行c#"这个主题中,我们将深入探讨如何使用Quartz.NET来实现自定义的定时任务,以及如何处理多任务执行。 首先,我们需要理解Quartz.NET的基本概念。在Quartz.NET中...

    Quartz调度、终止执行的任务

    Quartz是一款开源的作业调度框架,它允许开发者创建和安排任务执行。在Java应用程序中,Quartz能够帮助我们在特定的时间点或按照预设的周期执行某些功能,如数据收集、日志清理等。当我们需要终止某个正在运行的任务...

    Quartz如何实现判断某个任务是否正在运行,在项目中用到的,已经测试过了

    在实际项目中,有时我们需要判断一个Quartz任务是否正在运行,以便进行相应的操作,如避免重复执行或者进行状态监控。本文将详细介绍如何在Quartz中实现这一功能。 首先,理解Quartz的工作原理是关键。Quartz通过...

    完美解决多应用服务器负载均衡环境下spring quartz同一定时任务重复执行问题

    在多应用服务器负载均衡环境下,Spring Quartz定时任务的重复执行问题是一个常见的挑战。Spring Quartz是一个强大的、开源的作业调度框架,允许开发者定义和执行复杂的定时任务。然而,当多个服务器实例并行运行时,...

    定时任务quartz实现分组串行并行动态配置

    6. **监控与管理**:为了实现动态配置,我们需要对任务执行状态进行实时监控。Quartz提供了API接口和JMX支持,可以获取Job和Trigger的状态,以及进行暂停、恢复、删除等操作。 7. **持久化存储**:Quartz支持多种...

    spring java 定时器 执行两次 quartz

    在这个例子中,`cronExpression`定义了任务的执行频率,`targetObject`和`targetMethod`指定了任务执行的具体对象和方法。 当遇到Spring定时器执行两次的问题时,可能的原因有以下几点: 1. **多实例问题**:如果...

    C# Quartz.Net定时任务操作明细、完整过程

    3. **配置触发器**:使用`CronScheduleBuilder`可以方便地设置任务执行的时间规则。例如,每日定时执行一次: ```csharp IScheduler sched = new StdSchedulerFactory().GetScheduler(); JobDetailImpl jb1 = new ...

    quartz 实现按天、按周、按月定时任务的简单demo

    System.out.println("任务执行了"); } } ``` 然后,我们需要定义 Trigger,它是调度任务何时执行的规则。Quartz 提供了多种 Trigger 类型,如 SimpleTrigger(一次性执行)和 CronTrigger(基于 cron 表达式执行...

    quartz自动执行一定时

    我们要实现定时执行某个方法时,就可以在job目录中加入自己的方法类,但要实现GCJobInterface接口,重写execute 方法即可

    Quartz任务调度器

    总的来说,Quartz任务调度器与Spring的整合使得我们能够在应用中轻松地实现定时任务的管理,而无需关心任务执行的具体细节。它为开发者提供了一套强大的工具,帮助我们在项目中实现定时任务的自动化,提高系统的运行...

    java定时执行多任务和quartz定时执行多任务

    Java定时执行多任务是软件开发中的常见需求,用于在特定时间点或按固定频率执行某项操作,例如数据同步、日志清理等。Java提供了一些内置的定时工具,如`java.util.Timer`和`java.util.concurrent....

    Spring Quartz执行定时任务.

    使用Spring Quartz执行定时任务

    quartz 调用两次任务

    在“quartz 调用两次任务”这个问题中,我们可能遇到了一个常见问题,即同一个 Quartz 任务被错误地触发执行了两次。 在 Quartz 中,任务(Job)是通过实现 `org.quartz.Job` 接口的类来创建的,而调度则是通过 `...

    spring2.0 Quartz 执行每天定时任务 普通普是执行任务

    标题中的“spring2.0 Quartz 执行每天定时任务 普通普是执行任务”涉及到的是在Spring 2.0框架中使用Quartz库来创建并执行每天定时任务的场景。Quartz是一款强大的开源作业调度框架,它可以用来按计划执行各种任务,...

    .net Quartz 任务调度平台源码

    6. **日志记录**:任务执行过程中的信息会被记录下来,包括成功、失败、警告等,有助于进行问题追踪和分析。 7. **错误预警**:当任务出现异常时,系统可以发送预警通知,如邮件、短信等,及时提醒管理员处理。 8....

    quartz 随tomcat启动执行一次

    - **利用 Job 完成后停止调度器**:可以在 Job 中实现逻辑,在任务执行完毕后关闭调度器。这种方式需要更细致地控制 Job 的生命周期。 ```java public void execute(JobExecutionContext context) throws ...

    quartz动态任务管理

    通过分析和实践,你可以掌握如何创建动态任务,如何根据业务需求调整任务执行策略,以及如何进行错误处理和监控。这将对你的Java开发事业,特别是在构建有定时任务需求的系统时,提供极大的帮助。

    C# 控制台Quartz定时任务.doc

    7. **停止调度**:当不再需要任务执行时,可以调用`scheduler.Shutdown()`来停止调度器。 在实际使用中,Quartz.NET提供了丰富的API,支持多种触发器类型,如SimpleTrigger、CronTrigger等,能够满足各种复杂的定时...

    Quartz定时任务表达式

    Quartz定时任务表达式,即Cron表达式,是Quartz框架中用于精确控制任务执行时间的强大工具。通过理解和掌握Cron表达式的语法和特性,开发者可以轻松实现复杂多变的定时任务需求,从而提升应用的自动化程度和效率。...

    quartz 动态执行定时任务

    ### quartz 动态执行定时任务 #### 背景与概念 在许多现代应用程序中,特别是在企业级应用中,往往需要实现对某些任务的周期性调度执行,例如定期备份数据库、定时发送邮件通知等。Quartz 是一个开源的作业调度...

Global site tag (gtag.js) - Google Analytics