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
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.