Browse Source

Disable jmx by default

Change JmxAutoConfiguration so that by default JMX exposure is not
enabled. This matches the Javdoc text.
pull/176/head
Phillip Webb 12 years ago
parent
commit
dbec81cabe
  1. 2
      spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java
  2. 17
      spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfigurationTests.java
  3. 4
      spring-boot-samples/spring-boot-sample-actuator/src/main/resources/application.properties

2
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfiguration.java

@ -36,7 +36,7 @@ import org.springframework.jmx.export.MBeanExporter; @@ -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

17
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jmx/JmxAutoConfigurationTests.java

@ -17,7 +17,9 @@ @@ -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; @@ -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 { @@ -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));
}

4
spring-boot-samples/spring-boot-sample-actuator/src/main/resources/application.properties

@ -14,4 +14,6 @@ shell.ssh.port: 2222 @@ -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
#shell.auth: simple
spring.jmx.enabled: true

Loading…
Cancel
Save