With SpringBoot i can easily run the same Application as different instances with different configurations, for example:
@SpringBootApplication
@ComponentScan({"..."})
public class Application {
public static void main(String[] args) {
start(Application.class)
.properties("notification.sender.app.name=SomeApp", "notification.this.app.name =AnotherApp", "server.port=${first.port:9010}").run(args);
start(Application.class)
.properties("first.app.name=AnotherApp", "second.app.name =SomeApp", "server.port=${second.port:9020}").run(args);
}
private static SpringApplicationBuilder start(Class<?>... sources) {
return new SpringApplicationBuilder(sources).bannerMode(Mode.OFF);
}
}
Which is terrific, specially for testing inter application communication stuff.
I am trying to achieve now the same with @SpringBootTest to run Unit Tests against the running Applications instances.
Probably easy, but I haven't got it.