我的Spring Boot应用程序有一个父子架构,其中为目录中的每个配置文件都有一个单独的子项。
我正在尝试使用SpringApplicationBuilder
完成此操作并失败。
目前,我的main
逻辑看起来像:
SpringApplicationBuilder parentBuilder = new SpringApplicationBuilder(ParentConfiguration.class)
.properties(Collections.singletonMap("application.dataTypeCount", propertySourceList.size()))
.logStartupInfo(false);
// for each property source, add it to a child application and start that application
for (PropertySource<?> propertySource : propertySourceList) {
parentBuilder
.child(ChildConfiguration.class)
.initializers(context -> context.getEnvironment().getPropertySources().addLast(propertySource))
.run(args);
}
目前效果很好。
但是,我没有我想要的关机行为。如果任何的孩子无法启动,我希望每个应用程序都停止。实现这一目标的最佳方法是什么?似乎应该有更高层次的东西,而不是徘徊ApplicationEventListener
。