Restore JMX property to IntegrationJmxConfiguration

Closes gh-5309
pull/5525/head
Stephane Nicoll 9 years ago
parent 00ae6ff9e2
commit 6dd84159f5

@ -39,7 +39,6 @@ import org.springframework.integration.monitor.IntegrationMBeanExporter;
@Configuration @Configuration
@ConditionalOnClass(EnableIntegration.class) @ConditionalOnClass(EnableIntegration.class)
@AutoConfigureAfter(JmxAutoConfiguration.class) @AutoConfigureAfter(JmxAutoConfiguration.class)
@ConditionalOnProperty(prefix = "spring.jmx", name = "enabled", havingValue = "true", matchIfMissing = true)
public class IntegrationAutoConfiguration { public class IntegrationAutoConfiguration {
@Configuration @Configuration
@ -50,6 +49,7 @@ public class IntegrationAutoConfiguration {
@Configuration @Configuration
@ConditionalOnClass(EnableIntegrationMBeanExport.class) @ConditionalOnClass(EnableIntegrationMBeanExport.class)
@ConditionalOnMissingBean(value = IntegrationMBeanExporter.class, search = SearchStrategy.CURRENT) @ConditionalOnMissingBean(value = IntegrationMBeanExporter.class, search = SearchStrategy.CURRENT)
@ConditionalOnProperty(prefix = "spring.jmx", name = "enabled", havingValue = "true", matchIfMissing = true)
@EnableIntegrationMBeanExport(defaultDomain = "${spring.jmx.default-domain:}", server = "${spring.jmx.server:mbeanServer}") @EnableIntegrationMBeanExport(defaultDomain = "${spring.jmx.default-domain:}", server = "${spring.jmx.server:mbeanServer}")
protected static class IntegrationJmxConfiguration { protected static class IntegrationJmxConfiguration {
} }

@ -55,28 +55,9 @@ public class IntegrationAutoConfigurationTests {
@Test @Test
public void integrationIsAvailable() { public void integrationIsAvailable() {
load(); load();
MBeanServer mBeanServer = this.context.getBean(MBeanServer.class);
assertDomains(mBeanServer, true, "org.springframework.integration",
"org.springframework.integration.monitor");
assertThat(this.context.getBean(HeaderChannelRegistry.class)).isNotNull(); assertThat(this.context.getBean(HeaderChannelRegistry.class)).isNotNull();
} }
@Test
public void disableIntegration() {
load("spring.jmx.enabled=false");
assertThat(this.context.getBeansOfType(MBeanServer.class)).hasSize(0);
}
@Test
public void customizeDomain() {
load("spring.jmx.default-domain=org.foo");
MBeanServer mBeanServer = this.context.getBean(MBeanServer.class);
assertDomains(mBeanServer, true, "org.foo");
assertDomains(mBeanServer, false, "org.springframework.integration",
"org.springframework.integration.monitor");
}
@Test @Test
public void parentContext() { public void parentContext() {
this.context = new AnnotationConfigApplicationContext(); this.context = new AnnotationConfigApplicationContext();
@ -92,6 +73,29 @@ public class IntegrationAutoConfigurationTests {
this.context.close(); this.context.close();
} }
@Test
public void jmxIntegrationEnabledByDefault() {
load();
MBeanServer mBeanServer = this.context.getBean(MBeanServer.class);
assertDomains(mBeanServer, true, "org.springframework.integration",
"org.springframework.integration.monitor");
}
@Test
public void disableJmxIntegration() {
load("spring.jmx.enabled=false");
assertThat(this.context.getBeansOfType(MBeanServer.class)).hasSize(0);
}
@Test
public void customizeJmxDomain() {
load("spring.jmx.default-domain=org.foo");
MBeanServer mBeanServer = this.context.getBean(MBeanServer.class);
assertDomains(mBeanServer, true, "org.foo");
assertDomains(mBeanServer, false, "org.springframework.integration",
"org.springframework.integration.monitor");
}
private static void assertDomains(MBeanServer mBeanServer, boolean expected, String... domains) { private static void assertDomains(MBeanServer mBeanServer, boolean expected, String... domains) {
List<String> actual = Arrays.asList(mBeanServer.getDomains()); List<String> actual = Arrays.asList(mBeanServer.getDomains());
for (String domain : domains) { for (String domain : domains) {

Loading…
Cancel
Save