|
42 | 42 | import org.springframework.util.Assert; |
43 | 43 |
|
44 | 44 | /** |
45 | | - * Auto-configuration to register a {@link SpringBootApplicationRuntime} and {@link ApplicationModulesRuntime} as Spring |
46 | | - * Bean. |
| 45 | + * Auto-configuration to register a {@link SpringBootApplicationRuntime}, a {@link ApplicationModulesRuntime} and an |
| 46 | + * {@link ApplicationListener} to invoke all {@link ApplicationModuleInitializer}s as Spring Bean. |
47 | 47 | * |
48 | 48 | * @author Oliver Drotbohm |
49 | 49 | */ |
50 | 50 | @AutoConfiguration |
51 | 51 | class SpringModulithRuntimeAutoConfiguration { |
52 | 52 |
|
53 | 53 | private static final Logger LOGGER = LoggerFactory.getLogger(SpringModulithRuntimeAutoConfiguration.class); |
54 | | - private final AsyncTaskExecutor executor = new SimpleAsyncTaskExecutor(); |
| 54 | + private static final AsyncTaskExecutor EXECUTOR = new SimpleAsyncTaskExecutor(); |
55 | 55 |
|
56 | 56 | @Bean |
57 | 57 | @Role(BeanDefinition.ROLE_INFRASTRUCTURE) |
58 | 58 | @ConditionalOnMissingBean(ApplicationRuntime.class) |
59 | | - SpringBootApplicationRuntime modulithsApplicationRuntime(ApplicationContext context) { |
| 59 | + static SpringBootApplicationRuntime modulithsApplicationRuntime(ApplicationContext context) { |
60 | 60 | return new SpringBootApplicationRuntime(context); |
61 | 61 | } |
62 | 62 |
|
63 | 63 | @Bean |
64 | 64 | @Role(BeanDefinition.ROLE_INFRASTRUCTURE) |
65 | 65 | @ConditionalOnMissingBean |
66 | | - ApplicationModulesRuntime modulesRuntime(ApplicationRuntime runtime) { |
| 66 | + static ApplicationModulesRuntime modulesRuntime(ApplicationRuntime runtime) { |
67 | 67 |
|
68 | 68 | var mainClass = runtime.getMainApplicationClass(); |
69 | | - var modules = executor |
| 69 | + var modules = EXECUTOR |
70 | 70 | .submit(() -> ApplicationModulesBootstrap.initializeApplicationModules(mainClass)); |
71 | 71 |
|
72 | 72 | return new ApplicationModulesRuntime(toSupplier(modules), runtime); |
73 | 73 | } |
74 | 74 |
|
75 | 75 | @Bean |
76 | | - ApplicationListener<ApplicationStartedEvent> applicationModuleInitializingListener(ListableBeanFactory beanFactory) { |
| 76 | + @Role(BeanDefinition.ROLE_INFRASTRUCTURE) |
| 77 | + static ApplicationListener<ApplicationStartedEvent> applicationModuleInitializingListener( |
| 78 | + ListableBeanFactory beanFactory) { |
77 | 79 |
|
78 | 80 | return event -> { |
79 | 81 |
|
|
0 commit comments