Commit 0a04b743 authored by Christian Dupuis's avatar Christian Dupuis

Allow configuration of domainName and key for endpoint JMX export

parent fa1ff72f
...@@ -16,15 +16,19 @@ ...@@ -16,15 +16,19 @@
package org.springframework.boot.actuate.autoconfigure; package org.springframework.boot.actuate.autoconfigure;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.endpoint.Endpoint; import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.actuate.endpoint.jmx.EndpointMBeanExporter; import org.springframework.boot.actuate.endpoint.jmx.EndpointMBeanExporter;
import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.boot.bind.RelaxedPropertyResolver;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.jmx.export.MBeanExporter; import org.springframework.jmx.export.MBeanExporter;
import org.springframework.util.StringUtils;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} to enable JMX export for * {@link EnableAutoConfiguration Auto-configuration} to enable JMX export for
...@@ -38,10 +42,24 @@ import org.springframework.jmx.export.MBeanExporter; ...@@ -38,10 +42,24 @@ import org.springframework.jmx.export.MBeanExporter;
@ConditionalOnExpression("${endpoints.jmx.enabled:true}") @ConditionalOnExpression("${endpoints.jmx.enabled:true}")
class EndpointMBeanExportAutoConfiguration { class EndpointMBeanExportAutoConfiguration {
private RelaxedPropertyResolver environment;
@Autowired
public void setEnvironment(Environment environment) {
this.environment = new RelaxedPropertyResolver(environment);
}
@Bean @Bean
public EndpointMBeanExporter endpointMBeanExporter() { public EndpointMBeanExporter endpointMBeanExporter() {
// TODO add configuration for domain name EndpointMBeanExporter mbeanExporter = new EndpointMBeanExporter();
return new EndpointMBeanExporter(); String domainName = this.environment.getProperty("endpoints.jmx.domain_name");
if (StringUtils.hasText(domainName)) {
mbeanExporter.setDomainName(domainName);
}
String key = this.environment.getProperty("endpoints.jmx.key");
if (StringUtils.hasText(key)) {
mbeanExporter.setKey(key);
}
return mbeanExporter;
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment