diff --git a/spring-context/src/main/java/org/springframework/scheduling/concurrent/SimpleAsyncTaskScheduler.java b/spring-context/src/main/java/org/springframework/scheduling/concurrent/SimpleAsyncTaskScheduler.java index 3b162ce973..38549c8090 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/concurrent/SimpleAsyncTaskScheduler.java +++ b/spring-context/src/main/java/org/springframework/scheduling/concurrent/SimpleAsyncTaskScheduler.java @@ -192,7 +192,7 @@ public class SimpleAsyncTaskScheduler extends SimpleAsyncTaskExecutor implements } private Runnable scheduledTask(Runnable task) { - return () -> execute(task); + return () -> execute(new DelegatingErrorHandlingRunnable(task, TaskUtils.LOG_AND_PROPAGATE_ERROR_HANDLER)); } private Runnable taskOnSchedulerThread(Runnable task) { diff --git a/spring-context/src/test/java/org/springframework/context/generator/ApplicationContextAotGeneratorRuntimeHintsTests.java b/spring-context/src/test/java/org/springframework/context/generator/ApplicationContextAotGeneratorRuntimeHintsTests.java index 8034870a00..f15f3589ee 100644 --- a/spring-context/src/test/java/org/springframework/context/generator/ApplicationContextAotGeneratorRuntimeHintsTests.java +++ b/spring-context/src/test/java/org/springframework/context/generator/ApplicationContextAotGeneratorRuntimeHintsTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,8 +59,8 @@ class ApplicationContextAotGeneratorRuntimeHintsTests { void generateApplicationContextWithAutowiring() { GenericApplicationContext context = new AnnotationConfigApplicationContext(); context.registerBeanDefinition("autowiredComponent", new RootBeanDefinition(AutowiredComponent.class)); - context.registerBeanDefinition("number", BeanDefinitionBuilder.rootBeanDefinition(Integer.class, "valueOf") - .addConstructorArgValue("42").getBeanDefinition()); + context.registerBeanDefinition("number", BeanDefinitionBuilder.rootBeanDefinition( + Integer.class, "valueOf").addConstructorArgValue("42").getBeanDefinition()); compile(context, (hints, invocations) -> assertThat(invocations).match(hints)); } @@ -89,8 +89,10 @@ class ApplicationContextAotGeneratorRuntimeHintsTests { compile(context, (hints, invocations) -> assertThat(invocations).match(hints)); } - @SuppressWarnings({ "rawtypes", "unchecked" }) - private void compile(GenericApplicationContext applicationContext, BiConsumer initializationResult) { + @SuppressWarnings({"rawtypes", "unchecked"}) + private void compile(GenericApplicationContext applicationContext, + BiConsumer initializationResult) { + ApplicationContextAotGenerator generator = new ApplicationContextAotGenerator(); TestGenerationContext generationContext = new TestGenerationContext(); generator.processAheadOfTime(applicationContext, generationContext); @@ -107,17 +109,15 @@ class ApplicationContextAotGeneratorRuntimeHintsTests { }); } + public interface Destroyable { @PreDestroy default void destroy() { - } - } public static class InheritedDestroy implements Destroyable { - } }