Merge pull request #11811 from izeye:polish-20180127-2nd

* pr/11811:
  Polish contribution
  Polish
pull/11825/head
Stephane Nicoll 7 years ago
commit 3c1f7abbbe

@ -34,7 +34,7 @@ import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpoint;
@ServletEndpoint(id = "jolokia") @ServletEndpoint(id = "jolokia")
public class JolokiaEndpoint implements Supplier<EndpointServlet> { public class JolokiaEndpoint implements Supplier<EndpointServlet> {
private Map<String, String> initParameters; private final Map<String, String> initParameters;
public JolokiaEndpoint(Map<String, String> initParameters) { public JolokiaEndpoint(Map<String, String> initParameters) {
this.initParameters = initParameters; this.initParameters = initParameters;

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2017 the original author or authors. * Copyright 2012-2018 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -36,7 +36,7 @@ import org.springframework.core.type.classreading.SimpleMetadataReaderFactory;
/** /**
* Selects configuration classes for the management context configuration. Entries are * Selects configuration classes for the management context configuration. Entries are
* loaded from {@code /META-INF/spring.factories} under the * loaded from {@code /META-INF/spring.factories} under the
* {@code org.springframework.boot.actuate.autoconfigure.ManagementContextConfiguration} * {@code org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration}
* key. * key.
* *
* @author Dave Syer * @author Dave Syer

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2017 the original author or authors. * Copyright 2012-2018 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -36,7 +36,6 @@ import org.springframework.web.servlet.config.annotation.EnableWebMvc;
* @author Stephane Nicoll * @author Stephane Nicoll
* @author Andy Wilkinson * @author Andy Wilkinson
* @author Phillip Webb * @author Phillip Webb
* @since 2.0.0
*/ */
@ManagementContextConfiguration(ManagementContextType.CHILD) @ManagementContextConfiguration(ManagementContextType.CHILD)
@ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnWebApplication(type = Type.SERVLET)

@ -29,7 +29,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.web.ServletEndpointManagementContextConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.ServletEndpointManagementContextConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.jolokia.JolokiaEndpoint;
import org.springframework.boot.actuate.autoconfigure.jolokia.JolokiaEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.jolokia.JolokiaEndpointAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration;
@ -55,7 +54,7 @@ import org.springframework.test.context.junit4.SpringRunner;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
/** /**
* Integration tests for {@link JolokiaEndpoint}. * Integration tests for {@link JolokiaEndpointAutoConfiguration}.
* *
* @author Stephane Nicoll * @author Stephane Nicoll
*/ */
@ -63,7 +62,7 @@ import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@DirtiesContext @DirtiesContext
@TestPropertySource(properties = "management.endpoints.web.expose=jolokia") @TestPropertySource(properties = "management.endpoints.web.expose=jolokia")
public class JolokiaManagementContextConfigurationIntegrationTests { public class JolokiaEndpointAutoConfigurationIntegrationTests {
@Autowired @Autowired
private TestRestTemplate restTemplate; private TestRestTemplate restTemplate;

@ -29,8 +29,8 @@ import org.springframework.boot.web.servlet.ServletContextInitializer;
import org.springframework.util.Assert; import org.springframework.util.Assert;
/** /**
* {@link ServletContextInitializer} to register {@link ExposableServletEndpoint} servlet * {@link ServletContextInitializer} to register {@link ExposableServletEndpoint servlet
* endpoints. * endpoints}.
* *
* @author Phillip Webb * @author Phillip Webb
* @since 2.0.0 * @since 2.0.0

@ -46,7 +46,7 @@ class DiscoveredServletEndpoint extends AbstractDiscoveredEndpoint<Operation>
() -> "ServletEndpoint bean " + beanType + " must be a supplier"); () -> "ServletEndpoint bean " + beanType + " must be a supplier");
Object supplied = ((Supplier<?>) endpointBean).get(); Object supplied = ((Supplier<?>) endpointBean).get();
Assert.state(supplied != null, Assert.state(supplied != null,
"ServletEndpoint bean " + beanType + " must not supply null"); () -> "ServletEndpoint bean " + beanType + " must not supply null");
Assert.state(supplied instanceof EndpointServlet, () -> "ServletEndpoint bean " Assert.state(supplied instanceof EndpointServlet, () -> "ServletEndpoint bean "
+ beanType + " must supply an EndpointServlet"); + beanType + " must supply an EndpointServlet");
this.endpointServlet = (EndpointServlet) supplied; this.endpointServlet = (EndpointServlet) supplied;

@ -44,7 +44,7 @@ public class ServletEndpointDiscoverer
private final PathMapper endpointPathMapper; private final PathMapper endpointPathMapper;
/** /**
* Create a new {@link ServletEndpointFilter} instance. * Create a new {@link ServletEndpointDiscoverer} instance.
* @param applicationContext the source application context * @param applicationContext the source application context
* @param endpointPathMapper the endpoint path mapper * @param endpointPathMapper the endpoint path mapper
* @param filters filters to apply * @param filters filters to apply

@ -83,7 +83,7 @@ public class WebMvcMetricsFilter extends OncePerRequestFilter {
* Create a new {@link WebMvcMetricsFilter} instance. * Create a new {@link WebMvcMetricsFilter} instance.
* @param context the source application context * @param context the source application context
* @param registry the meter registry * @param registry the meter registry
* @param tagsProvider the tags provier * @param tagsProvider the tags provider
* @param metricName the metric name * @param metricName the metric name
* @param autoTimeRequests if requests should be automatically timed * @param autoTimeRequests if requests should be automatically timed
*/ */

@ -76,14 +76,14 @@ public class EndpointServletTests {
public void withInitParameterNullName() { public void withInitParameterNullName() {
EndpointServlet endpointServlet = new EndpointServlet(TestServlet.class); EndpointServlet endpointServlet = new EndpointServlet(TestServlet.class);
this.thrown.expect(IllegalArgumentException.class); this.thrown.expect(IllegalArgumentException.class);
endpointServlet.withInitParameters(Collections.singletonMap(null, "value")); endpointServlet.withInitParameter(null, "value");
} }
@Test @Test
public void withInitParameterEmptyName() { public void withInitParameterEmptyName() {
EndpointServlet endpointServlet = new EndpointServlet(TestServlet.class); EndpointServlet endpointServlet = new EndpointServlet(TestServlet.class);
this.thrown.expect(IllegalArgumentException.class); this.thrown.expect(IllegalArgumentException.class);
endpointServlet.withInitParameters(Collections.singletonMap(" ", "value")); endpointServlet.withInitParameter(" ", "value");
} }
@Test @Test
@ -102,6 +102,20 @@ public class EndpointServletTests {
entry("a", "b1"), entry("c", "d"), entry("e", "f")); entry("a", "b1"), entry("c", "d"), entry("e", "f"));
} }
@Test
public void withInitParametersNullName() {
EndpointServlet endpointServlet = new EndpointServlet(TestServlet.class);
this.thrown.expect(IllegalArgumentException.class);
endpointServlet.withInitParameters(Collections.singletonMap(null, "value"));
}
@Test
public void withInitParametersEmptyName() {
EndpointServlet endpointServlet = new EndpointServlet(TestServlet.class);
this.thrown.expect(IllegalArgumentException.class);
endpointServlet.withInitParameters(Collections.singletonMap(" ", "value"));
}
@Test @Test
public void withInitParametersShouldCreateNewInstance() { public void withInitParametersShouldCreateNewInstance() {
EndpointServlet endpointServlet = new EndpointServlet(TestServlet.class); EndpointServlet endpointServlet = new EndpointServlet(TestServlet.class);

@ -500,9 +500,9 @@ to augment an existing endpoint.
TIP: If you add endpoints as a library feature, consider adding a configuration class TIP: If you add endpoints as a library feature, consider adding a configuration class
annotated with `@ManagementContextConfiguration` to `/META-INF/spring.factories` under the annotated with `@ManagementContextConfiguration` to `/META-INF/spring.factories` under the
following key: following key:
`org.springframework.boot.actuate.autoconfigure.ManagementContextConfiguration`. If you do `org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration`. If
so and if your users ask for a separate management port or address, the endpoint moves to you do so and if your users ask for a separate management port or address, the endpoint
a child context with all the other web endpoints. moves to a child context with all the other web endpoints.
@ -1014,7 +1014,7 @@ Maven, you would add the following dependency:
---- ----
The Jolokia endpoint can then be exposed by adding `jolokia` or `*` to the The Jolokia endpoint can then be exposed by adding `jolokia` or `*` to the
`management.endpoints.web.expose` property. You can then be accessed it by using `management.endpoints.web.expose` property. You can then access it by using
`/actuator/jolokia` on your management HTTP server. `/actuator/jolokia` on your management HTTP server.

Loading…
Cancel
Save