Add processBeforeBuild(:SpringApplicationBuilder) and processBeforeRun(:SpringApplication) methods.

This commit is contained in:
John Blum
2018-08-29 08:53:22 -07:00
parent 0d4a38490d
commit 0782bc2205
2 changed files with 14 additions and 6 deletions

View File

@@ -57,9 +57,7 @@ public abstract class SpringApplicationContextIntegrationTestsSupport extends In
processBeforeRefresh(applicationContext);
applicationContext.refresh();
this.applicationContext = applicationContext;
return applicationContext;
return setApplicationContext(applicationContext);
}
protected ConfigurableApplicationContext processBeforeRefresh(ConfigurableApplicationContext applicationContext) {

View File

@@ -16,6 +16,7 @@
package org.springframework.data.gemfire.tests.integration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.WebApplicationType;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ConfigurableApplicationContext;
@@ -27,6 +28,7 @@ import org.springframework.context.ConfigurableApplicationContext;
* {@link SpringApplicationBuilder} class.
*
* @author John Blum
* @see org.springframework.boot.SpringApplication
* @see org.springframework.boot.builder.SpringApplicationBuilder
* @see org.springframework.context.ConfigurableApplicationContext
* @see org.springframework.data.gemfire.tests.integration.SpringApplicationContextIntegrationTestsSupport
@@ -49,10 +51,18 @@ public abstract class SpringBootApplicationIntegrationTestsSupport
@Override
protected ConfigurableApplicationContext newApplicationContext(Class<?>... annotatedClasses) {
return setApplicationContext(new SpringApplicationBuilder(annotatedClasses)
return setApplicationContext(processBeforeRun(processBeforeBuild(new SpringApplicationBuilder(annotatedClasses)
.initializers(this::processBeforeRefresh)
.web(getWebApplicationType())
.build()
.web(getWebApplicationType()))
.build())
.run(getArguments()));
}
protected SpringApplicationBuilder processBeforeBuild(SpringApplicationBuilder springApplicationBuilder) {
return springApplicationBuilder;
}
protected SpringApplication processBeforeRun(SpringApplication springApplication) {
return springApplication;
}
}