I have created a Spring Integration application with Spring Boot. I would like to know how to configure JMX with Spring Boot. I believe by default JMX is configured when usin
As you understand the Spring Integration JMX is enabled by default, if you just have spring-integration-jmx
in the classpath. And, of course, if spring.jmx.enabled = true
(default).
You can't overrride that just declaring one more @EnableIntegrationMBeanExport
, because it is based on @Import
and you just can't override import classes because of (from ConfigurationClassParser
):
imports.addAll(sourceClass.getAnnotationAttributes(Import.class.getName(), "value"));
If imported classes are already there, they aren't overridable.
You have several choices to achieve your requirements:
Disable default Spring Boot JMX - just addind to the application.properties
spring.jmx.enabled = false
and continue to use @EnableIntegrationMBeanExport
Configure IntegrationMBeanExporter
@Bean
manually.
Just configure your my.company.domain
domain in the application.properties
:
spring.jmx.default_domain = my.company.domain