diff --git a/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SchedulerAccessor.java b/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SchedulerAccessor.java index 20e7db5cae40..6e59fd01370c 100644 --- a/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SchedulerAccessor.java +++ b/spring-context-support/src/main/java/org/springframework/scheduling/quartz/SchedulerAccessor.java @@ -481,10 +481,21 @@ protected void registerListeners() throws SchedulerException { } } if (this.globalJobListeners != null) { - Method addJobListener = target.getClass().getMethod( - (quartz2 ? "addJobListener" : "addGlobalJobListener"), JobListener.class); + final Method addJobListener; + if (quartz2) { + addJobListener = target.getClass().getMethod( + "addJobListener", JobListener.class, List.class); + } else { + addJobListener = target.getClass().getMethod( + "addGlobalJobListener", JobListener.class); + } for (JobListener listener : this.globalJobListeners) { - ReflectionUtils.invokeMethod(addJobListener, target, listener); + if (quartz2) { + final List matchers = new ArrayList(); + ReflectionUtils.invokeMethod(addJobListener, target, listener, matchers); + } else { + ReflectionUtils.invokeMethod(addJobListener, target, listener); + } } } if (this.jobListeners != null) { @@ -497,10 +508,21 @@ protected void registerListeners() throws SchedulerException { } } if (this.globalTriggerListeners != null) { - Method addTriggerListener = target.getClass().getMethod( - (quartz2 ? "addTriggerListener" : "addGlobalTriggerListener"), TriggerListener.class); + final Method addTriggerListener; + if (quartz2) { + addTriggerListener = target.getClass().getMethod( + "addTriggerListener", TriggerListener.class, List.class); + } else { + addTriggerListener = target.getClass().getMethod( + "addGlobalTriggerListener", TriggerListener.class); + } for (TriggerListener listener : this.globalTriggerListeners) { - ReflectionUtils.invokeMethod(addTriggerListener, target, listener); + if (quartz2) { + final List matchers = new ArrayList(); + ReflectionUtils.invokeMethod(addTriggerListener, target, listener, matchers); + } else { + ReflectionUtils.invokeMethod(addTriggerListener, target, listener); + } } } if (this.triggerListeners != null) {