【问题标题】:Quartz .net: with a JobListener, Jobs are not triggeredQuartz .net:使用 JobListener,不会触发作业
【发布时间】:2016-03-24 09:43:17
【问题描述】:

我已经正确地创建并安排了一个 Job(我没有在这里写 Job 和 Trigger 创建,只是为了简短起见)。调度器的创建和启动如下:

_scheduler = New StdSchedulerFactory().GetScheduler
_scheduler.Start()

作业在预定的时间执行。

然后我创建了一个非常简单(目前是空的)JobListener:

Imports Quartz

Public Class JobListener
    Implements IJobListener

#Region "Public properties"

    Public ReadOnly Property Name As String Implements Quartz.IJobListener.Name
        Get
            Return "JOB_LISTENER"
        End Get
    End Property

#End Region

#Region "Methods"

    Public Sub JobExecutionVetoed(context As Quartz.IJobExecutionContext) Implements Quartz.IJobListener.JobExecutionVetoed
        Throw New NotImplementedException
    End Sub

    Public Sub JobToBeExecuted(context As Quartz.IJobExecutionContext) Implements Quartz.IJobListener.JobToBeExecuted
        Throw New NotImplementedException
    End Sub

    Public Sub JobWasExecuted(context As Quartz.IJobExecutionContext, jobException As Quartz.JobExecutionException) Implements Quartz.IJobListener.JobWasExecuted

    End Sub

#End Region

End Class

并将其添加到调度程序中:

_scheduler = New StdSchedulerFactory().GetScheduler
_scheduler.Start()
_jobListener = New JobListener()
_scheduler.ListenerManager.AddJobListener(_jobListener, GroupMatcher(Of JobKey).AnyGroup())

现在作业不再执行。 任何提示为什么会发生?

如果我在启动调度程序之前添加 JobListener,结果相同:

_jobListener = New JobListener()
_scheduler = New StdSchedulerFactory().GetScheduler
_scheduler.ListenerManager.AddJobListener(_jobListener,  GroupMatcher(Of JobKey).AnyGroup())
_scheduler.Start()

【问题讨论】:

    标签: quartz.net


    【解决方案1】:

    我发现了问题所在。

    首先,建议:在开始使用 Quartz .net 进行调试之前始终配置日志。

    当 Job 准备好执行时,通知 JobListener,然后调用方法 JobToBeExecuted。正如您在 JobListener 的实现中看到的,我在 JobToBeExecuted 方法中抛出了一个异常,该异常阻止了 Job 的执行。

    我没有调查为什么 JobListener 中的错误会阻止 Job 被执行。我想有一连串的调用被异常中断了。 无论如何,这就是我的问题的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-25
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 2021-07-23
      相关资源
      最近更新 更多