Create a spring boot application with multiple chi

2019-01-26 06:07发布

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条回答
在下西门庆
2楼-- · 2019-01-26 06:30

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.

查看更多
登录 后发表回答