[C#][Quartz]添加监听器

namespace Quartz.Listener
{
    public class SchedulerListener : SchedulerListenerSupport
    {
        private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name);
        public override void JobAdded(IJobDetail jobDetail)
        {
            log.DebugFormat("JobAdded.Group.{0}.Name.{1}.Description.{2}", jobDetail.Key.Group, jobDetail.Key.Name, jobDetail.Description);
            base.JobAdded(jobDetail);
        }

        public override void JobDeleted(JobKey jobKey)
        {
            log.DebugFormat("JobDeleted.Group.{0}.Name.{1}", jobKey.Group, jobKey.Name);
            base.JobDeleted(jobKey);
        }

        public override void JobPaused(JobKey jobKey)
        {
            log.DebugFormat("JobPaused.Group.{0}.Name.{1}", jobKey.Group, jobKey.Name);
            base.JobPaused(jobKey);
        }

        public override void JobResumed(JobKey jobKey)
        {
            log.DebugFormat("JobResumed.Group.{0}.Name.{1}", jobKey.Group, jobKey.Name);
            base.JobResumed(jobKey);
        }

        public override void JobScheduled(ITrigger trigger)
        {
            log.DebugFormat("JobScheduled.TriggerGroup.{0}.TriggerName.{1}.JobGroup.{2}.JobName.{3}", trigger.Key.Group, trigger.Key.Name, trigger.JobKey.Group, trigger.JobKey.Name);
            base.JobScheduled(trigger);
        }

        public override void JobsPaused(string jobGroup)
        {
            log.DebugFormat("JobsPaused.Group.{0}", jobGroup);
            base.JobsPaused(jobGroup);
        }

        public override void JobsResumed(string jobGroup)
        {
            log.DebugFormat("JobsResumed.Group.{0}", jobGroup);
            base.JobsResumed(jobGroup);
        }

        public override void JobUnscheduled(TriggerKey triggerKey)
        {
            log.DebugFormat("JobUnscheduled.TriggerGroup.{0}.TriggerName.{1}", triggerKey.Group, triggerKey.Name);
            base.JobUnscheduled(triggerKey);
        }

        public override void SchedulerError(string msg, SchedulerException cause)
        {
            log.ErrorFormat("SchedulerError.msg.{0}.cause.Message.{1}.cause.Source.{2}.cause.StackTrace.{3}.InnerException.Message.{4}",
                msg, cause.Message, cause.Source, cause.StackTrace, cause.InnerException.Message);
            base.SchedulerError(msg, cause);
        }

        public override void SchedulerInStandbyMode()
        {
            log.Warn("SchedulerInStandbyMode");
            base.SchedulerInStandbyMode();
        }

        public override void SchedulerShutdown()
        {
            log.Warn("SchedulerShutdown");
            base.SchedulerShutdown();
        }

        public override void SchedulerShuttingdown()
        {
            log.Warn("SchedulerShuttingdown");
            base.SchedulerShuttingdown();
        }

        public override void SchedulerStarted()
        {
            log.Warn("SchedulerStarted");
            base.SchedulerStarted();
        }

        public override void SchedulingDataCleared()
        {
            log.Warn("SchedulingDataCleared");
            base.SchedulingDataCleared();
        }

        public override void TriggerFinalized(ITrigger trigger)
        {
            log.DebugFormat("TriggerFinalized.TriggerGroup.{0}.TriggerName.{1}.JobGroup.{2}.JobName.{3}", trigger.Key.Group, trigger.Key.Name, trigger.JobKey.Group, trigger.JobKey.Name);
            base.TriggerFinalized(trigger);
        }

        public override void TriggerPaused(TriggerKey triggerKey)
        {
            log.DebugFormat("TriggerPaused.TriggerGroup.{0}.TriggerName.{1}", triggerKey.Group, triggerKey.Name);
            base.TriggerPaused(triggerKey);
        }

        public override void TriggerResumed(TriggerKey triggerKey)
        {
            log.DebugFormat("TriggerResumed.TriggerGroup.{0}.TriggerName.{1}", triggerKey.Group, triggerKey.Name);
            base.TriggerResumed(triggerKey);
        }

        public override void TriggersPaused(string triggerGroup)
        {
            log.DebugFormat("TriggersPaused.Group.{0}", triggerGroup);
            base.TriggersPaused(triggerGroup);
        }

        public override void TriggersResumed(string triggerGroup)
        {
            log.DebugFormat("TriggersResumed.Group.{0}", triggerGroup);
            base.TriggersResumed(triggerGroup);
        }
    }
}

原文地址:https://www.cnblogs.com/z5337/p/9087552.html

时间: 2024-11-10 01:27:24

[C#][Quartz]添加监听器的相关文章

Quartz任务监听器

在Quartz框架提供了JobListener接口,可在任务执行前.任务被拒绝及任务执行完成后实现对任务的拦截,该接口的声明如下: public interface JobListener { /**返回监听器名*/ String getName(); /**任务执行前对任务拦截*/ void jobToBeExecuted(JobExecutionContext context); /**任务被否决对任务拦截*/ void jobExecutionVetoed(JobExecutionCont

添加监听器listener

全局注册,所有Job都会起作用 JobCountListener listener = new JobCountListener(); sched.getListenerManager().addJobListener(listener); 给固定的job添加监听器 JobCountListener listener = new JobCountListener(); Matcher<JobKey> matcher = KeyMatcher.keyEquals(new JobKey("

java中两种添加监听器的策略

/*第一种:将事件的处理委托给其他对象,下面的例子是委托给了MyListener(implements ActionListener)*/ 1 import java.applet.Applet; 2 import java.awt.event.*; 3 import java.awt.*; 4 public class ChangeColor extends Applet{//Applet的默认布局为FlowLayout方式 5 Color myColor; 6 String str; 7 B

JS DOM基础 事件概述 事件流 事件处理方法 添加监听器 事件类型 事件对象 事件委托

一.事件概述 事件是什么? 在我们的生活中,都会接触到事件这样一个概念,它通常通过描述发生这件事的时间.地点.人物,发生了什么来进行概括. 同样的在javascript也有这样的一个的东西------事件. 页面上发生的事件:鼠标移动.点击.滚动等等. 事件描述了页面上发生的事情,通常它有以下三个要素组成: 事件源:触发事件的元素 事件类型:事件的触发方式(例如鼠标点击或键盘点击) 事件处理程序(事件监听器):事件触发后要执行的代码(函数形式) Javascript 使我们可以动态的去操作一个页

计算器(UI事件)给按钮添加监听器

<?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" and

计算器 ——给按钮添加监听器

1 <?xml version="1.0" encoding="utf-8"?> 2 <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent&q

为你的程序添加监听器

平时在写程序时经常会遇到监听器,比如按钮的click监听器,按键监听器等等.而android中的监听器和java中的回调函数是同一个概念,都是在底层代码中定义一个接口来调用高层的代码.那么什么是回调函数呢?网上说的是“在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就称为回调.在调用接口时,需要严格的按照定义的参数和方法调用,并且需要处理函数的异步,否则会导致程序的崩溃.这样的解释似乎还是比较难懂,这里

Android的简单应用(三)——为你的程序添加监听器

平时在写程序时经常会遇到监听器,比如按钮的click监听器,按键监听器等等.而android中的监听器和java中的回调函数是同一个概念,都是在底层代码中定义一个接口来调用高层的代码.那么什么是回调函数呢?网上说的是“在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就称为回调.在调用接口时,需要严格的按照定义的参数和方法调用,并且需要处理函数的异步,否则会导致程序的崩溃.这样的解释似乎还是比较难懂,这里

Struts2+DAO层实现实例03——添加监听器跟踪用户行为

实例说明 根据上两次的成品进行二次加工. 加入Listener,监听用户的登陆注销情况. 所用知识说明 采用SessionBindingListener对Session进行监听. 同时,Action中获取Application,Session,request的方法(在此只列出一种)更多方法 public class LoginAction { private Map request; private Map session; private Map application; public Str