Create a spring boot application with multiple child contexts

折月煮酒 提交于 2019-12-06 18:33:08

问题


I'm trying to create an application using spring boot with an hierarchical application context. My current main method looks like:

public static void main(String[] args) {
    new SpringApplicationBuilder(TestApplication.class)
            .child(AuditServiceConfiguration.class).web(true)
            .child(TaskServiceConfiguration.class).web(true)
            .run(args);
}

and the two children configurations are annotated with:

@EnableAutoConfiguration
@Configuration

The idea is to have a parent context containing all common beans and each child context to run its own MVC while being isolated from its siblings.

Unfortunately when I run the above, only the last child context is initialised and started.

Any pointers in the right direction would be greatly appreciated.

Regards,

Alessandro


回答1:


The child(...) method creates and returns another SpringApplicationBuilder, so when you call that second child(...) method, you are not instantiating a brother for the child, you are making a child on the first child, which makes the parent become a grandpa.

Jokes aside, have a look at the sibling(...) method which allows to create another context with the same parent.

You can also check out the source to see exactly what is going on.



来源:https://stackoverflow.com/questions/32097421/create-a-spring-boot-application-with-multiple-child-contexts

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!