JMX

根据配置属性自动配置启用/禁用 Spring 的 EnableMBeanExport 机制。

设置 spring.jmx.enabled 为 false 来禁用注解 bean 的自动导出。

JmxAutoConfiguration 的定义:

@Configuration
@ConditionalOnClass({ MBeanExporter.class })
@ConditionalOnProperty(prefix = "spring.jmx", name = "enabled", havingValue = "true", matchIfMissing = true)
public class JmxAutoConfiguration implements EnvironmentAware, BeanFactoryAware {}

自动配置的前提:

  • classpath 中存在类 MBeanExporter.class
  • 属性 spring.jmx.enabled 值为true,或者没有配置

默认配置的 bean:

  • AnnotationMBeanExporter
  • ParentAwareNamingStrategy
  • MBeanServer

配置方式是典型的使用 @ConditionalOnMissingBean,如果需要替换这里的默认配置,用户只要自行定义好自己的对应 bean 。

@Bean
@ConditionalOnMissingBean(value = ObjectNamingStrategy.class, search = SearchStrategy.CURRENT)
public ParentAwareNamingStrategy objectNamingStrategy() {}

results matching ""

    No results matching ""