Skip to content

Commit 995d105

Browse files
committed
GH-169 - More defensive bean definition declaration for the ApplicationStartedEvent listener.
Altered the bean definition to rather only refer to a ListableBeanFactory and only lookup the ApplicationModulesRuntime and ApplicationModuleListeners when the ApplicationStartedEvent is handled.
1 parent 19707dd commit 995d105

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

spring-modulith-runtime/src/main/java/org/springframework/modulith/runtime/autoconfigure/SpringModulithRuntimeAutoConfiguration.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
*/
1616
package org.springframework.modulith.runtime.autoconfigure;
1717

18-
import java.util.List;
1918
import java.util.concurrent.Future;
2019
import java.util.function.Supplier;
2120

2221
import org.slf4j.Logger;
2322
import org.slf4j.LoggerFactory;
2423
import org.springframework.aop.support.AopUtils;
24+
import org.springframework.beans.factory.ListableBeanFactory;
2525
import org.springframework.beans.factory.config.BeanDefinition;
2626
import org.springframework.boot.autoconfigure.AutoConfiguration;
2727
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -73,14 +73,13 @@ ApplicationModulesRuntime modulesRuntime(ApplicationRuntime runtime) {
7373
}
7474

7575
@Bean
76-
ApplicationListener<ApplicationStartedEvent> applicationModuleInitialzingListener(ApplicationModulesRuntime runtime,
77-
List<ApplicationModuleInitializer> initializers) {
76+
ApplicationListener<ApplicationStartedEvent> applicationModuleInitializingListener(ListableBeanFactory beanFactory) {
7877

7978
return event -> {
8079

81-
var modules = runtime.get();
80+
var modules = beanFactory.getBean(ApplicationModulesRuntime.class).get();
8281

83-
initializers.stream() //
82+
beanFactory.getBeanProvider(ApplicationModuleInitializer.class).stream() //
8483
.sorted(modules.getComparator()) //
8584
.map(it -> LOGGER.isDebugEnabled() ? new LoggingApplicationModuleInitializerAdapter(it, modules) : it)
8685
.forEach(ApplicationModuleInitializer::initialize);

0 commit comments

Comments
 (0)