Ensure endpoints.jolokia.enabled=false switches off jolokia
This commit is contained in:
parent
564475556e
commit
94e2f90793
|
@ -28,6 +28,8 @@ import org.springframework.http.HttpMethod;
|
||||||
@ConfigurationProperties(name = "endpoints.jolokia", ignoreUnknownFields = false)
|
@ConfigurationProperties(name = "endpoints.jolokia", ignoreUnknownFields = false)
|
||||||
public class JolokiaEndpoint extends AbstractEndpoint<String> {
|
public class JolokiaEndpoint extends AbstractEndpoint<String> {
|
||||||
|
|
||||||
|
private boolean enabled = true;
|
||||||
|
|
||||||
public JolokiaEndpoint() {
|
public JolokiaEndpoint() {
|
||||||
super("/jolokia");
|
super("/jolokia");
|
||||||
}
|
}
|
||||||
|
@ -41,4 +43,12 @@ public class JolokiaEndpoint extends AbstractEndpoint<String> {
|
||||||
public HttpMethod[] methods() {
|
public HttpMethod[] methods() {
|
||||||
return NO_HTTP_METHOD;
|
return NO_HTTP_METHOD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isEnabled() {
|
||||||
|
return this.enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnabled(boolean enabled) {
|
||||||
|
this.enabled = enabled;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,12 +22,14 @@ import javax.servlet.ServletRegistration;
|
||||||
import org.jolokia.http.AgentServlet;
|
import org.jolokia.http.AgentServlet;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
import org.springframework.boot.TestUtils;
|
||||||
import org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration;
|
import org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration;
|
||||||
import org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext;
|
import org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext;
|
||||||
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizerBeanPostProcessor;
|
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizerBeanPostProcessor;
|
||||||
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
|
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
|
||||||
import org.springframework.boot.context.embedded.MockEmbeddedServletContainerFactory;
|
import org.springframework.boot.context.embedded.MockEmbeddedServletContainerFactory;
|
||||||
import org.springframework.boot.context.embedded.MockEmbeddedServletContainerFactory.RegisteredServlet;
|
import org.springframework.boot.context.embedded.MockEmbeddedServletContainerFactory.RegisteredServlet;
|
||||||
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
@ -62,6 +64,16 @@ public class JolokiaAutoConfigurationTests {
|
||||||
assertEquals(1, this.context.getBeanNamesForType(AgentServlet.class).length);
|
assertEquals(1, this.context.getBeanNamesForType(AgentServlet.class).length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void agentDisabled() throws Exception {
|
||||||
|
this.context = new AnnotationConfigEmbeddedWebApplicationContext();
|
||||||
|
TestUtils.addEnviroment(this.context, "endpoints.jolokia.enabled:false");
|
||||||
|
this.context.register(Config.class, WebMvcAutoConfiguration.class,
|
||||||
|
JolokiaAutoConfiguration.class);
|
||||||
|
this.context.refresh();
|
||||||
|
assertEquals(0, this.context.getBeanNamesForType(AgentServlet.class).length);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void agentServletRegisteredWithServletContainer() throws Exception {
|
public void agentServletRegisteredWithServletContainer() throws Exception {
|
||||||
this.context = new AnnotationConfigEmbeddedWebApplicationContext();
|
this.context = new AnnotationConfigEmbeddedWebApplicationContext();
|
||||||
|
@ -83,6 +95,7 @@ public class JolokiaAutoConfigurationTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@EnableConfigurationProperties
|
||||||
protected static class Config {
|
protected static class Config {
|
||||||
|
|
||||||
protected static MockEmbeddedServletContainerFactory containerFactory = null;
|
protected static MockEmbeddedServletContainerFactory containerFactory = null;
|
||||||
|
|
|
@ -85,7 +85,7 @@ public class AutoConfigurationReportLoggingInitializer implements
|
||||||
logAutoConfigurationReport(!this.applicationContext.isActive());
|
logAutoConfigurationReport(!this.applicationContext.isActive());
|
||||||
}
|
}
|
||||||
|
|
||||||
void logAutoConfigurationReport(boolean isCrashReport) {
|
public void logAutoConfigurationReport(boolean isCrashReport) {
|
||||||
if (this.report == null) {
|
if (this.report == null) {
|
||||||
this.report = AutoConfigurationReport.get(this.applicationContext
|
this.report = AutoConfigurationReport.get(this.applicationContext
|
||||||
.getBeanFactory());
|
.getBeanFactory());
|
||||||
|
|
Loading…
Reference in New Issue