Merge branch '1.5.x'

This commit is contained in:
Stephane Nicoll
2016-12-14 19:33:34 +01:00
12 changed files with 59 additions and 15 deletions

View File

@@ -2,7 +2,7 @@
This endpoint allows you to view and modify the log levels for the loggers in your
application. It builds on top of the `LoggingSystem` abstraction and supports the same
logging frameworks. The logging levels are defined by the `LogLevel` enumeration and
consists of the following values (although not all logging systems support the full set):
consist of the following values (although not all logging systems support the full set):
* `TRACE`
* `DEBUG`
@@ -25,7 +25,7 @@ configuration defined.
Example curl request:
include::{generated}/loggers/curl-request.adoc[]
Example HTTP request: [small]##link:../health[icon:external-link[role="silver"]]##
Example HTTP request: [small]##link:../loggers[icon:external-link[role="silver"]]##
include::{generated}/loggers/http-request.adoc[]
Example HTTP response:
@@ -37,7 +37,7 @@ include::{generated}/loggers/http-response.adoc[]
Example curl request:
include::{generated}/single-logger/curl-request.adoc[]
Example HTTP request: [small]##link:../health[icon:external-link[role="silver"]]##
Example HTTP request: [small]##link:../loggers[icon:external-link[role="silver"]]##
include::{generated}/single-logger/http-request.adoc[]
Example HTTP response:
@@ -49,12 +49,12 @@ include::{generated}/single-logger/http-response.adoc[]
Setting the `configuredLevel` of a logger requires `POSTing` a partial payload to the
resource. The `configuredLevel` property must contain a string representation of the
enumeration described above. `null` indicates that the log level should be unset,
allowing it to inherit configuration from it's parent.
allowing it to inherit configuration from its parent.
Example curl request:
include::{generated}/set-logger/curl-request.adoc[]
Example HTTP request: [small]##link:../health[icon:external-link[role="silver"]]##
Example HTTP request: [small]##link:../loggers[icon:external-link[role="silver"]]##
include::{generated}/set-logger/http-request.adoc[]
Example HTTP response:

View File

@@ -85,6 +85,18 @@
"type": "java.util.Map<java.lang.String,java.lang.Object>",
"description": "Arbitrary properties to add to the info endpoint."
},
{
"name": "management.health.cassandra.enabled",
"type": "java.lang.Boolean",
"description": "Enable cassandra health check.",
"defaultValue": true
},
{
"name": "management.health.couchbase.enabled",
"type": "java.lang.Boolean",
"description": "Enable couchbase health check.",
"defaultValue": true
},
{
"name": "management.health.db.enabled",
"type": "java.lang.Boolean",

View File

@@ -139,7 +139,7 @@ public class EndpointMvcIntegrationTests {
@Override
public void customize(EndpointHandlerMapping mapping) {
mapping.setInterceptors(new Object[] { interceptor() });
mapping.setInterceptors(interceptor());
}
};

View File

@@ -850,7 +850,7 @@ public class EndpointWebMvcAutoConfigurationTests {
@Override
public void customize(EndpointHandlerMapping mapping) {
mapping.setInterceptors(new Object[] { interceptor() });
mapping.setInterceptors(interceptor());
}
};

View File

@@ -457,6 +457,21 @@ public class HealthIndicatorAutoConfigurationTests {
.isEqualTo(CassandraHealthIndicator.class);
}
@Test
public void notCassandraHealthIndicator() throws Exception {
EnvironmentTestUtils.addEnvironment(this.context,
"management.health.diskspace.enabled:false",
"management.health.cassandra.enabled:false");
this.context.register(CassandraConfiguration.class,
ManagementServerProperties.class, HealthIndicatorAutoConfiguration.class);
this.context.refresh();
Map<String, HealthIndicator> beans = this.context
.getBeansOfType(HealthIndicator.class);
assertThat(beans).hasSize(1);
assertThat(beans.values().iterator().next().getClass())
.isEqualTo(ApplicationHealthIndicator.class);
}
@Test
public void couchbaseHealthIndicator() throws Exception {
EnvironmentTestUtils.addEnvironment(this.context,
@@ -471,6 +486,21 @@ public class HealthIndicatorAutoConfigurationTests {
.isEqualTo(CouchbaseHealthIndicator.class);
}
@Test
public void notCouchbaseHealthIndicator() throws Exception {
EnvironmentTestUtils.addEnvironment(this.context,
"management.health.diskspace.enabled:false",
"management.health.couchbase.enabled:false");
this.context.register(CouchbaseConfiguration.class,
ManagementServerProperties.class, HealthIndicatorAutoConfiguration.class);
this.context.refresh();
Map<String, HealthIndicator> beans = this.context
.getBeansOfType(HealthIndicator.class);
assertThat(beans.size()).isEqualTo(1);
assertThat(beans.values().iterator().next().getClass())
.isEqualTo(ApplicationHealthIndicator.class);
}
@Configuration
@EnableConfigurationProperties
protected static class DataSourceConfig {

View File

@@ -145,7 +145,7 @@ public class MetricFilterAutoConfigurationTests {
}
@Test
public void recordsHttpInteractionsWithWilcardMapping() throws Exception {
public void recordsHttpInteractionsWithWildcardMapping() throws Exception {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(
Config.class, MetricFilterAutoConfiguration.class);
Filter filter = context.getBean(Filter.class);

View File

@@ -98,7 +98,7 @@ public class HalBrowserMvcEndpointDisabledIntegrationTests {
public static void main(String[] args) {
SpringApplication.run(SpringBootHypermediaApplication.class,
new String[] { "--endpoints.hypermedia.enabled=false" });
"--endpoints.hypermedia.enabled=false");
}
}

View File

@@ -1064,8 +1064,10 @@ content into your application; rather pick only the properties that you need.
management.ssl.trust-store-provider= # Provider for the trust store. Requires a custom management.port.
management.ssl.trust-store-type= # Type of the trust store. Requires a custom management.port.
# HEALTH INDICATORS (previously health.*)
# HEALTH INDICATORS
management.health.db.enabled=true # Enable database health check.
management.health.cassandra.enabled=true # Enable cassandra health check.
management.health.couchbase.enabled=true # Enable couchbase health check.
management.health.defaults.enabled=true # Enable default health indicators.
management.health.diskspace.enabled=true # Enable disk space health check.
management.health.diskspace.path= # Path used to compute the available disk space.

View File

@@ -85,7 +85,7 @@ public class DevToolsIntegrationTests {
@Test
public void addARequestMappingToAnExistingController() throws Exception {
TestRestTemplate template = new TestRestTemplate();
String urlBase = "http://localhost:" + awaitServerPort() + "/";
String urlBase = "http://localhost:" + awaitServerPort();
assertThat(template.getForObject(urlBase + "/one", String.class))
.isEqualTo("one");
assertThat(template.getForEntity(urlBase + "/two", String.class).getStatusCode())
@@ -111,7 +111,7 @@ public class DevToolsIntegrationTests {
@Test
public void createAController() throws Exception {
TestRestTemplate template = new TestRestTemplate();
String urlBase = "http://localhost:" + awaitServerPort() + "/";
String urlBase = "http://localhost:" + awaitServerPort();
assertThat(template.getForObject(urlBase + "/one", String.class))
.isEqualTo("one");
assertThat(template.getForEntity(urlBase + "/two", String.class).getStatusCode())

View File

@@ -38,7 +38,7 @@ class JvmLauncher implements TestRule {
@Override
public Statement apply(Statement base, Description description) {
this.outputDirectory = new File("target/output/" + "/"
this.outputDirectory = new File("target/output/"
+ description.getMethodName().replaceAll("[^A-Za-z]+", ""));
this.outputDirectory.mkdirs();
return base;

View File

@@ -27,7 +27,7 @@ import java.io.IOException;
public interface LibraryCallback {
/**
* Callback to for a single library backed by a {@link File}.
* Callback for a single library backed by a {@link File}.
* @param library the library
* @throws IOException if the operation fails
*/

View File

@@ -48,7 +48,7 @@ public abstract class LoggingSystem {
public static final String NONE = "none";
/**
* The name used to for the root logger. LoggingSystem implementations should ensure
* The name used for the root logger. LoggingSystem implementations should ensure
* that this is the name used to represent the root logger, regardless of the
* underlying implementation.
*/