Merge branch '1.3.x'
This commit is contained in:
commit
17b71df2dd
|
|
@ -33,7 +33,6 @@ import org.springframework.boot.bind.RelaxedPropertyResolver;
|
||||||
import org.springframework.context.EnvironmentAware;
|
import org.springframework.context.EnvironmentAware;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Primary;
|
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.integration.config.EnableIntegration;
|
import org.springframework.integration.config.EnableIntegration;
|
||||||
import org.springframework.integration.jmx.config.EnableIntegrationMBeanExport;
|
import org.springframework.integration.jmx.config.EnableIntegrationMBeanExport;
|
||||||
|
|
@ -87,7 +86,6 @@ public class IntegrationAutoConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@Primary
|
|
||||||
public IntegrationMBeanExporter integrationMbeanExporter() {
|
public IntegrationMBeanExporter integrationMbeanExporter() {
|
||||||
IntegrationMBeanExporter exporter = new IntegrationMBeanExporter();
|
IntegrationMBeanExporter exporter = new IntegrationMBeanExporter();
|
||||||
String defaultDomain = this.propertyResolver.getProperty("default-domain");
|
String defaultDomain = this.propertyResolver.getProperty("default-domain");
|
||||||
|
|
|
||||||
|
|
@ -27,10 +27,15 @@ import org.junit.Test;
|
||||||
import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration;
|
import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration;
|
||||||
import org.springframework.context.ConfigurableApplicationContext;
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Primary;
|
||||||
import org.springframework.integration.support.channel.HeaderChannelRegistry;
|
import org.springframework.integration.support.channel.HeaderChannelRegistry;
|
||||||
|
import org.springframework.jmx.export.MBeanExporter;
|
||||||
import org.springframework.test.context.support.TestPropertySourceUtils;
|
import org.springframework.test.context.support.TestPropertySourceUtils;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link IntegrationAutoConfiguration}.
|
* Tests for {@link IntegrationAutoConfiguration}.
|
||||||
|
|
@ -98,6 +103,14 @@ public class IntegrationAutoConfigurationTests {
|
||||||
"org.springframework.integration.monitor");
|
"org.springframework.integration.monitor");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void primaryExporterIsAllowed() {
|
||||||
|
load(CustomMBeanExporter.class);
|
||||||
|
assertThat(this.context.getBeansOfType(MBeanExporter.class)).hasSize(2);
|
||||||
|
assertThat(this.context.getBean(MBeanExporter.class)).isSameAs(
|
||||||
|
this.context.getBean("myMBeanExporter"));
|
||||||
|
}
|
||||||
|
|
||||||
private static void assertDomains(MBeanServer mBeanServer, boolean expected,
|
private static void assertDomains(MBeanServer mBeanServer, boolean expected,
|
||||||
String... domains) {
|
String... domains) {
|
||||||
List<String> actual = Arrays.asList(mBeanServer.getDomains());
|
List<String> actual = Arrays.asList(mBeanServer.getDomains());
|
||||||
|
|
@ -106,12 +119,30 @@ public class IntegrationAutoConfigurationTests {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void load(String... environment) {
|
public void load(String... environment) {
|
||||||
|
load(null, environment);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void load(Class<?> config, String... environment) {
|
||||||
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
|
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
|
||||||
|
if (config != null) {
|
||||||
|
ctx.register(config);
|
||||||
|
}
|
||||||
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(ctx, environment);
|
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(ctx, environment);
|
||||||
ctx.register(JmxAutoConfiguration.class, IntegrationAutoConfiguration.class);
|
ctx.register(JmxAutoConfiguration.class, IntegrationAutoConfiguration.class);
|
||||||
ctx.refresh();
|
ctx.refresh();
|
||||||
this.context = ctx;
|
this.context = ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
static class CustomMBeanExporter {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@Primary
|
||||||
|
public MBeanExporter myMBeanExporter() {
|
||||||
|
return mock(MBeanExporter.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue