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 861cd0ae84c..1274092a449 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 @@ -36,7 +36,7 @@ import org.springframework.jmx.export.MBeanExporter; @Configuration @ConditionalOnClass({ MBeanExporter.class }) @ConditionalOnMissingBean({ MBeanExporter.class }) -@ConditionalOnExpression("${spring.jmx.enabled:true}") +@ConditionalOnExpression("${spring.jmx.enabled:false}") public class JmxAutoConfiguration { @Configuration diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfigurationTests.java index 4a180958162..61092027353 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfigurationTests.java @@ -17,7 +17,9 @@ package org.springframework.boot.autoconfigure.jmx; import org.junit.After; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; @@ -37,6 +39,9 @@ import static org.junit.Assert.assertNotNull; */ public class JmxAutoConfigurationTests { + @Rule + public ExpectedException thrown = ExpectedException.none(); + private AnnotationConfigApplicationContext context; @After @@ -51,6 +56,18 @@ public class JmxAutoConfigurationTests { this.context = new AnnotationConfigApplicationContext(); this.context.register(JmxAutoConfiguration.class); this.context.refresh(); + this.thrown.expect(NoSuchBeanDefinitionException.class); + this.context.getBean(MBeanExporter.class); + } + + @Test + public void testEnabledMBeanExport() { + MockEnvironment env = new MockEnvironment(); + env.setProperty("spring.jmx.enabled", "true"); + this.context = new AnnotationConfigApplicationContext(); + this.context.setEnvironment(env); + this.context.register(JmxAutoConfiguration.class); + this.context.refresh(); assertNotNull(this.context.getBean(MBeanExporter.class)); } diff --git a/spring-boot-samples/spring-boot-sample-actuator/src/main/resources/application.properties b/spring-boot-samples/spring-boot-sample-actuator/src/main/resources/application.properties index 66fe1fc2269..a6ea2329da9 100644 --- a/spring-boot-samples/spring-boot-sample-actuator/src/main/resources/application.properties +++ b/spring-boot-samples/spring-boot-sample-actuator/src/main/resources/application.properties @@ -14,4 +14,6 @@ shell.ssh.port: 2222 shell.auth: spring #shell.auth: key #shell.auth.key.path: ${user.home}/test/id_rsa.pub.pem -#shell.auth: simple \ No newline at end of file +#shell.auth: simple +spring.jmx.enabled: true +