Skip to content

Commit d841af4

Browse files
committed
Avoid unnecessarily alarming stack trace logged during scheduler resolution
Closes gh-23268 (cherry picked from commit 7b69245)
1 parent ba8000d commit d841af4

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

spring-context/src/main/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2018 the original author or authors.
2+
* Copyright 2002-2020 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -254,7 +254,10 @@ private void finishRegistration() {
254254
this.registrar.setTaskScheduler(resolveSchedulerBean(this.beanFactory, TaskScheduler.class, false));
255255
}
256256
catch (NoUniqueBeanDefinitionException ex) {
257-
logger.trace("Could not find unique TaskScheduler bean", ex);
257+
if (logger.isTraceEnabled()) {
258+
logger.trace("Could not find unique TaskScheduler bean - attempting to resolve by name: " +
259+
ex.getMessage());
260+
}
258261
try {
259262
this.registrar.setTaskScheduler(resolveSchedulerBean(this.beanFactory, TaskScheduler.class, true));
260263
}
@@ -269,13 +272,19 @@ private void finishRegistration() {
269272
}
270273
}
271274
catch (NoSuchBeanDefinitionException ex) {
272-
logger.trace("Could not find default TaskScheduler bean", ex);
275+
if (logger.isTraceEnabled()) {
276+
logger.trace("Could not find default TaskScheduler bean - attempting to find ScheduledExecutorService: " +
277+
ex.getMessage());
278+
}
273279
// Search for ScheduledExecutorService bean next...
274280
try {
275281
this.registrar.setScheduler(resolveSchedulerBean(this.beanFactory, ScheduledExecutorService.class, false));
276282
}
277283
catch (NoUniqueBeanDefinitionException ex2) {
278-
logger.trace("Could not find unique ScheduledExecutorService bean", ex2);
284+
if (logger.isTraceEnabled()) {
285+
logger.trace("Could not find unique ScheduledExecutorService bean - attempting to resolve by name: " +
286+
ex2.getMessage());
287+
}
279288
try {
280289
this.registrar.setScheduler(resolveSchedulerBean(this.beanFactory, ScheduledExecutorService.class, true));
281290
}
@@ -290,7 +299,10 @@ private void finishRegistration() {
290299
}
291300
}
292301
catch (NoSuchBeanDefinitionException ex2) {
293-
logger.trace("Could not find default ScheduledExecutorService bean", ex2);
302+
if (logger.isTraceEnabled()) {
303+
logger.trace("Could not find default ScheduledExecutorService bean - falling back to default: " +
304+
ex2.getMessage());
305+
}
294306
// Giving up -> falling back to default scheduler within the registrar...
295307
logger.info("No TaskScheduler/ScheduledExecutorService bean found for scheduled processing");
296308
}

0 commit comments

Comments
 (0)