pull/837/head
Phillip Webb 11 years ago
parent f3a40e03bb
commit 1acffdf649

@ -58,7 +58,7 @@ import org.springframework.web.servlet.handler.AbstractHandlerMethodMapping;
/**
* {@link EnableAutoConfiguration Auto-configuration} for common management
* {@link Endpoint}s.
*
*
* @author Dave Syer
* @author Phillip Webb
* @author Greg Turnquist

@ -1,5 +1,5 @@
/*
* Copyright 2014 the original author or authors.
* Copyright 2012-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -28,6 +28,7 @@ import org.springframework.boot.actuate.health.RedisHealthIndicator;
import org.springframework.boot.actuate.health.SimpleDataSourceHealthIndicator;
import org.springframework.boot.actuate.health.VanillaHealthIndicator;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.jdbc.CommonsDataSourceConfiguration;
@ -44,6 +45,8 @@ import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.redis.connection.RedisConnectionFactory;
/**
* {@link EnableAutoConfiguration Auto-configuration} for {@link HealthIndicator}s.
*
* @author Christian Dupuis
* @since 1.1.0
*/
@ -72,14 +75,14 @@ public class HealthIndicatorAutoConfiguration {
@ConditionalOnMissingBean(name = "dbHealthIndicator")
public HealthIndicator<? extends Object> dbHealthIndicator() {
if (this.dataSources.size() == 1) {
return new SimpleDataSourceHealthIndicator(this.dataSources.values().iterator()
.next());
return new SimpleDataSourceHealthIndicator(this.dataSources.values()
.iterator().next());
}
CompositeHealthIndicator composite = new CompositeHealthIndicator();
for (Map.Entry<String, DataSource> entry : this.dataSources.entrySet()) {
composite.addHealthIndicator(entry.getKey(), new SimpleDataSourceHealthIndicator(
entry.getValue()));
composite.addHealthIndicator(entry.getKey(),
new SimpleDataSourceHealthIndicator(entry.getValue()));
}
return composite;
}

@ -26,7 +26,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
/**
* {@link Endpoint} to expose application health.
*
*
* @author Dave Syer
* @author Christian Dupuis
*/
@ -59,9 +59,9 @@ public class HealthEndpoint extends AbstractEndpoint<Map<String, Object>> {
* Turns the bean name into a key that can be used in the map of health information.
*/
private String getKey(String name) {
int x = name.toLowerCase().indexOf("healthindicator");
if (x > 0) {
return name.substring(0, x);
int index = name.toLowerCase().indexOf("healthindicator");
if (index > 0) {
return name.substring(0, index);
}
return name;
}

@ -1,5 +1,5 @@
/*
* Copyright 2014 the original author or authors.
* Copyright 2012-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -20,13 +20,14 @@ import java.util.HashMap;
import java.util.Map;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.util.Assert;
import com.mongodb.CommandResult;
/**
* Simple implementation of a {@link HealthIndicator} returning status information for
* Mongo data stores.
*
*
* @author Christian Dupuis
* @since 1.1.0
*/
@ -35,6 +36,7 @@ public class MongoHealthIndicator implements HealthIndicator<Map<String, Object>
private final MongoTemplate mongoTemplate;
public MongoHealthIndicator(MongoTemplate mongoTemplate) {
Assert.notNull(mongoTemplate, "MongoTemplate must not be null");
this.mongoTemplate = mongoTemplate;
}

@ -1,5 +1,5 @@
/*
* Copyright 2014 the original author or authors.
* Copyright 2012-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -23,11 +23,12 @@ import java.util.Properties;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisConnectionUtils;
import org.springframework.util.Assert;
/**
* Simple implementation of a {@link HealthIndicator} returning status information for
* Redis data stores.
*
*
* @author Christian Dupuis
* @since 1.1.0
*/
@ -36,6 +37,7 @@ public class RedisHealthIndicator implements HealthIndicator<Map<String, Object>
private final RedisConnectionFactory redisConnectionFactory;
public RedisHealthIndicator(RedisConnectionFactory connectionFactory) {
Assert.notNull(connectionFactory, "ConnectionFactory must not be null");
this.redisConnectionFactory = connectionFactory;
}

@ -43,7 +43,7 @@ import static org.junit.Assert.assertTrue;
/**
* Tests for {@link EndpointAutoConfiguration}.
*
*
* @author Dave Syer
* @author Phillip Webb
* @author Greg Turnquist

@ -1,5 +1,5 @@
/*
* Copyright 2014 the original author or authors.
* Copyright 2012-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -36,7 +36,7 @@ import static org.junit.Assert.assertEquals;
/**
* Tests for {@link HealthIndicatorAutoConfiguration}.
*
*
* @author Christian Dupuis
*/
public class HealthIndicatorAutoConfigurationTests {
@ -120,7 +120,7 @@ public class HealthIndicatorAutoConfigurationTests {
Map<String, HealthIndicator> beans = this.context
.getBeansOfType(HealthIndicator.class);
assertEquals(1, beans.size());
assertEquals(SimpleDataSourceHealthIndicator.class, beans.values().iterator().next()
.getClass());
assertEquals(SimpleDataSourceHealthIndicator.class, beans.values().iterator()
.next().getClass());
}
}
}

@ -30,7 +30,7 @@ import static org.junit.Assert.assertThat;
/**
* Tests for {@link HealthEndpoint}.
*
*
* @author Phillip Webb
*/
public class HealthEndpointTests extends AbstractEndpointTests<HealthEndpoint> {

@ -1,5 +1,5 @@
/*
* Copyright 2014 the original author or authors.
* Copyright 2012-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -38,7 +38,7 @@ import static org.junit.Assert.assertTrue;
/**
* Tests for {@link MongoHealthIndicator}.
*
*
* @author Christian Dupuis
*/
public class MongoHealthIndicatorTests {

@ -1,5 +1,5 @@
/*
* Copyright 2014 the original author or authors.
* Copyright 2012-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -37,7 +37,7 @@ import static org.junit.Assert.assertTrue;
/**
* Tests for {@link RedisHealthIndicator}.
*
*
* @author Christian Dupuis
*/
public class RedisHealthIndicatorTests {

@ -164,8 +164,8 @@ To provide custom health information you can register a Spring bean that impleme
Spring Boot provides a
{sc-spring-boot-actuator}/health/SimpleDatabaseHealthIndicator.{sc-ext}[`SimpleDatabaseHealthIndicator`]
implementation that attempts a simple database test as well as implementations for
Redis and MongoDB.
implementation that attempts a simple database test as well as implementations for
Redis and MongoDB.
Spring Boot adds the `HealthIndicator` instances automatically if beans of type `DataSource`,
`MongoTemplate` or `RedisConnectionFactory` are present in the `ApplicationContext`.

Loading…
Cancel
Save