Skip to content

Commit 7b69245

Browse files
committed
Avoid unnecessarily alarming stack trace logged during scheduler resolution
Closes gh-23268
1 parent 9a618dc commit 7b69245

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-2019 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.
@@ -256,7 +256,10 @@ private void finishRegistration() {
256256
this.registrar.setTaskScheduler(resolveSchedulerBean(this.beanFactory, TaskScheduler.class, false));
257257
}
258258
catch (NoUniqueBeanDefinitionException ex) {
259-
logger.trace("Could not find unique TaskScheduler bean", ex);
259+
if (logger.isTraceEnabled()) {
260+
logger.trace("Could not find unique TaskScheduler bean - attempting to resolve by name: " +
261+
ex.getMessage());
262+
}
260263
try {
261264
this.registrar.setTaskScheduler(resolveSchedulerBean(this.beanFactory, TaskScheduler.class, true));
262265
}
@@ -271,13 +274,19 @@ private void finishRegistration() {
271274
}
272275
}
273276
catch (NoSuchBeanDefinitionException ex) {
274-
logger.trace("Could not find default TaskScheduler bean", ex);
277+
if (logger.isTraceEnabled()) {
278+
logger.trace("Could not find default TaskScheduler bean - attempting to find ScheduledExecutorService: " +
279+
ex.getMessage());
280+
}
275281
// Search for ScheduledExecutorService bean next...
276282
try {
277283
this.registrar.setScheduler(resolveSchedulerBean(this.beanFactory, ScheduledExecutorService.class, false));
278284
}
279285
catch (NoUniqueBeanDefinitionException ex2) {
280-
logger.trace("Could not find unique ScheduledExecutorService bean", ex2);
286+
if (logger.isTraceEnabled()) {
287+
logger.trace("Could not find unique ScheduledExecutorService bean - attempting to resolve by name: " +
288+
ex2.getMessage());
289+
}
281290
try {
282291
this.registrar.setScheduler(resolveSchedulerBean(this.beanFactory, ScheduledExecutorService.class, true));
283292
}
@@ -292,7 +301,10 @@ private void finishRegistration() {
292301
}
293302
}
294303
catch (NoSuchBeanDefinitionException ex2) {
295-
logger.trace("Could not find default ScheduledExecutorService bean", ex2);
304+
if (logger.isTraceEnabled()) {
305+
logger.trace("Could not find default ScheduledExecutorService bean - falling back to default: " +
306+
ex2.getMessage());
307+
}
296308
// Giving up -> falling back to default scheduler within the registrar...
297309
logger.info("No TaskScheduler/ScheduledExecutorService bean found for scheduled processing");
298310
}

0 commit comments

Comments
 (0)