|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright 2002-2020 the original author or authors. |
|
|
|
* Copyright 2002-2021 the original author or authors. |
|
|
|
* |
|
|
|
* |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
@ -358,9 +358,9 @@ public class ScheduledAnnotationBeanPostProcessor |
|
|
|
AnnotationUtils.isCandidateClass(targetClass, Arrays.asList(Scheduled.class, Schedules.class))) { |
|
|
|
AnnotationUtils.isCandidateClass(targetClass, Arrays.asList(Scheduled.class, Schedules.class))) { |
|
|
|
Map<Method, Set<Scheduled>> annotatedMethods = MethodIntrospector.selectMethods(targetClass, |
|
|
|
Map<Method, Set<Scheduled>> annotatedMethods = MethodIntrospector.selectMethods(targetClass, |
|
|
|
(MethodIntrospector.MetadataLookup<Set<Scheduled>>) method -> { |
|
|
|
(MethodIntrospector.MetadataLookup<Set<Scheduled>>) method -> { |
|
|
|
Set<Scheduled> scheduledMethods = AnnotatedElementUtils.getMergedRepeatableAnnotations( |
|
|
|
Set<Scheduled> scheduledAnnotations = AnnotatedElementUtils.getMergedRepeatableAnnotations( |
|
|
|
method, Scheduled.class, Schedules.class); |
|
|
|
method, Scheduled.class, Schedules.class); |
|
|
|
return (!scheduledMethods.isEmpty() ? scheduledMethods : null); |
|
|
|
return (!scheduledAnnotations.isEmpty() ? scheduledAnnotations : null); |
|
|
|
}); |
|
|
|
}); |
|
|
|
if (annotatedMethods.isEmpty()) { |
|
|
|
if (annotatedMethods.isEmpty()) { |
|
|
|
this.nonAnnotatedClasses.add(targetClass); |
|
|
|
this.nonAnnotatedClasses.add(targetClass); |
|
|
@ -370,8 +370,8 @@ public class ScheduledAnnotationBeanPostProcessor |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
// Non-empty set of methods
|
|
|
|
// Non-empty set of methods
|
|
|
|
annotatedMethods.forEach((method, scheduledMethods) -> |
|
|
|
annotatedMethods.forEach((method, scheduledAnnotations) -> |
|
|
|
scheduledMethods.forEach(scheduled -> processScheduled(scheduled, method, bean))); |
|
|
|
scheduledAnnotations.forEach(scheduled -> processScheduled(scheduled, method, bean))); |
|
|
|
if (logger.isTraceEnabled()) { |
|
|
|
if (logger.isTraceEnabled()) { |
|
|
|
logger.trace(annotatedMethods.size() + " @Scheduled methods processed on bean '" + beanName + |
|
|
|
logger.trace(annotatedMethods.size() + " @Scheduled methods processed on bean '" + beanName + |
|
|
|
"': " + annotatedMethods); |
|
|
|
"': " + annotatedMethods); |
|
|
|