b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

odbc连接scan ip_weblogic连接scan ip_weblogic数据源连接池(10)

电脑杂谈  发布时间:2017-01-31 20:11:17  来源:网络整理

Quartz 器

Quartz 提供了三种类型的器:Job,Trigger,和Scheduler.

器是作为扩展点存在的.

Quartz 器是扩展点,可以扩展框架并定制来做特定的事情。跟Spring,Hibernate,Servlet器类似.

实现

1. 创建一个 Java 类,实现器接口

2. 用你的应用中特定的逻辑实现器接口的所有方法

3. 注册器

全局和非全局器

JobListener 和 TriggerListener 可被注册为全局或非全局器。一个全局器能接收到所有的 Job/Trigger 的事件通知。

而一个非全局器只能接收到那些在其上已注册了器的 Job 或 Triiger 的事件。

作者:James House描述全局和非全局器

全局器是主动意识的,它们为了执行它们的任务而热切的去寻找每一个可能的事件。通常,全局器要做的工作不用指定到特定的 Job 或 Trigger。

非全局器一般是被动意识的,它们在所关注的 Trigger 激发之前或是 Job 执行之前什么事也不做。因此,非全局的器比起全局器而言更适合于修改或增加 Job 执行的工作。

类似装饰设计模式

Job 事件

org.quartz.JobListener 接口包含一系列的方法,它们会由 Job 在其生命周期中产生的某些关键事件时被调用

 public intece JobListener {
 	//命名jobListener 只对非全局器有效
 	public String getName();
 
 	//Scheduler 在 JobDetail 将要被执行时调用这个方法。
 	public void jobToBeExecuted(JobExecutionContext context);

	//Scheduler 在 JobDetail 即将被执行,但又被否决时调用这个方法。
 	public void jobExecutionVetoed(JobExecutionContext context);
	
	//Scheduler 在 JobDetail 被执行之后调用这个方法。
 	public void jobWasExecuted(JobExecutionContext context,JobExecutionException jobException);
}

图7 job listener参与job的执行生命周期

注册全局器

scheduler.addGlobalJobListener(jobListener);

注册非全局器(依次完成,顺序不能颠倒)

scheduler.addJobListener(jobListener);
jobDetail.addJobListener(jobListener.getName());
//如果已经存在jobDetail则覆盖.
scheduler.addjob(jobDetail,true);

Trigger 事件

org.quartz.TriggerListener 接口定义Trigger器

public intece TriggerListener {
 	//命名triggerListener 只对非全局器有效
 	public String getName();

	//当与器相关联的 Trigger 被触发,Job 上的 execute() 方法将要被执行时,调用这个方法。
 	//在全局TriggerListener 情况下,这个方法为所有 Trigger 被调用。(不要做耗时操作)
 	public void triggerFired(Trigger trigger, JobExecutionContext context);

	//在 Trigger 触发后,Job 将要被执行时由调用这个方法。
 	//TriggerListener给了一个选择去否决 Job 的执行。假如这个方法返回 true,这个 Job 将不会为此次 Trigger 触发而得到执行。
 	public boolean vetoJobExecution(Trigger trigger, JobExecutidonContext context);

	// Scheduler 调用这个方法是在 Trigger 错过触发时。
 	// JavaDoc 指出:你应该关注此方法中持续时间长的逻辑:在出现许多错过触发的 Trigger 时,长逻辑会导致骨牌效应。你应当保持这上方法尽量的小
 	public void triggerMisfired(Trigger trigger);

	//Trigger 被触发并且完成了Job的执行时调用这个方法。
 	public void triggerComplete(Trigger trigger, JobExecutionContext context, int triggerInstructionCode);
}


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29777-10.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...