From dcb17a7cb5a21d831e34dac1341256a6bd124b52 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Mon, 9 Jun 2014 17:47:24 +0100 Subject: [PATCH] Enhance @Conditionals for JMX autconfig Fixes gh-1059 --- .../integration/IntegrationAutoConfiguration.java | 5 +++-- .../boot/autoconfigure/jmx/JmxAutoConfiguration.java | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/integration/IntegrationAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/integration/IntegrationAutoConfiguration.java index 3caf8b0b1aa..cf0dbc3e623 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/integration/IntegrationAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/integration/IntegrationAutoConfiguration.java @@ -22,12 +22,13 @@ import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.SearchStrategy; import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.integration.config.EnableIntegration; import org.springframework.integration.jmx.config.EnableIntegrationMBeanExport; -import org.springframework.integration.jmx.config.IntegrationMBeanExportConfiguration; +import org.springframework.integration.monitor.IntegrationMBeanExporter; import org.springframework.jmx.support.MBeanServerFactoryBean; /** @@ -50,7 +51,7 @@ public class IntegrationAutoConfiguration { @Configuration @ConditionalOnClass(EnableIntegrationMBeanExport.class) - @ConditionalOnMissingBean(IntegrationMBeanExportConfiguration.class) + @ConditionalOnMissingBean(value = IntegrationMBeanExporter.class, search = SearchStrategy.CURRENT) @ConditionalOnExpression("${spring.jmx.enabled:true}") @EnableIntegrationMBeanExport(defaultDomain = "${spring.jmx.default_domain:}", server = "${spring.jmx.server:mbeanServer}") protected static class IntegrationJmxConfiguration { diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java index 1b53b3baaa4..1b0642cb464 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java @@ -22,6 +22,7 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.SearchStrategy; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableMBeanExport; @@ -42,7 +43,7 @@ import org.springframework.jmx.support.MBeanServerFactoryBean; public class JmxAutoConfiguration { @Configuration - @ConditionalOnMissingBean({ MBeanExporter.class }) + @ConditionalOnMissingBean(value = MBeanExporter.class, search = SearchStrategy.CURRENT) @EnableMBeanExport(defaultDomain = "${spring.jmx.default_domain:}", server = "${spring.jmx.server:mbeanServer}") public static class MBeanExport { }