From 00af1f5c10ee5a159e4fb8c0d5c514bd88e54f23 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Mon, 12 Oct 2015 11:43:16 +0200 Subject: [PATCH] Flag main MbeanExporter `@Primary` When the actuator is enabled, Spring Boot provides two `MBeanExporter` bean definitions: a general purpose one and a dedicated one for Actuator endpoints. This commit flag the general purpose one `@Primary` so that component can safely inject it by type if necessary. In particular, this fix the doc of the `JmxMetricWriter`. Closes gh-4007 --- .../boot/autoconfigure/jmx/JmxAutoConfiguration.java | 2 ++ 1 file changed, 2 insertions(+) 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 9be6578a9b..ab04327001 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 @@ -32,6 +32,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableMBeanExport; import org.springframework.context.annotation.MBeanExportConfiguration.SpecificPlatform; +import org.springframework.context.annotation.Primary; import org.springframework.core.env.Environment; import org.springframework.jmx.export.MBeanExporter; import org.springframework.jmx.export.annotation.AnnotationJmxAttributeSource; @@ -69,6 +70,7 @@ public class JmxAutoConfiguration implements EnvironmentAware, BeanFactoryAware } @Bean + @Primary @ConditionalOnMissingBean(value = MBeanExporter.class, search = SearchStrategy.CURRENT) public AnnotationMBeanExporter mbeanExporter(ObjectNamingStrategy namingStrategy) { AnnotationMBeanExporter exporter = new AnnotationMBeanExporter();