Remote trailing whitespace

pull/1209/head
Phillip Webb 11 years ago
parent 20766078d0
commit fa88c481a5

@ -34,7 +34,7 @@ import org.springframework.util.Assert;
* Users can inject a {@link AuditEventRepository} to publish their own events or * Users can inject a {@link AuditEventRepository} to publish their own events or
* alternatively use Springs {@link AuthenticationEventPublisher} (usually obtained by * alternatively use Springs {@link AuthenticationEventPublisher} (usually obtained by
* implementing {@link ApplicationEventPublisherAware}). * implementing {@link ApplicationEventPublisherAware}).
* *
* @author Dave Syer * @author Dave Syer
* @see AuditEventRepository * @see AuditEventRepository
*/ */

@ -21,7 +21,7 @@ import java.util.List;
/** /**
* Repository for {@link AuditEvent}s. * Repository for {@link AuditEvent}s.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface AuditEventRepository { public interface AuditEventRepository {

@ -25,7 +25,7 @@ import java.util.Map;
/** /**
* In-memory {@link AuditEventRepository} implementation. * In-memory {@link AuditEventRepository} implementation.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class InMemoryAuditEventRepository implements AuditEventRepository { public class InMemoryAuditEventRepository implements AuditEventRepository {

@ -25,7 +25,7 @@ import org.springframework.util.Assert;
/** /**
* Spring {@link ApplicationEvent} to encapsulate {@link AuditEvent}s. * Spring {@link ApplicationEvent} to encapsulate {@link AuditEvent}s.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class AuditApplicationEvent extends ApplicationEvent { public class AuditApplicationEvent extends ApplicationEvent {

@ -25,7 +25,7 @@ import org.springframework.context.ApplicationListener;
/** /**
* {@link ApplicationListener} that listens for {@link AuditEvent}s and stores them in a * {@link ApplicationListener} that listens for {@link AuditEvent}s and stores them in a
* {@link AuditEventRepository}. * {@link AuditEventRepository}.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class AuditListener implements ApplicationListener<AuditApplicationEvent> { public class AuditListener implements ApplicationListener<AuditApplicationEvent> {

@ -31,7 +31,7 @@ import org.springframework.context.annotation.Configuration;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} for {@link AuditEvent}s. * {@link EnableAutoConfiguration Auto-configuration} for {@link AuditEvent}s.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@Configuration @Configuration

@ -109,7 +109,7 @@ import org.springframework.util.StringUtils;
* using the following classpath scanning pattern <code>classpath*:/commands/**</code>. To * using the following classpath scanning pattern <code>classpath*:/commands/**</code>. To
* add different locations or override the default use * add different locations or override the default use
* <code>shell.command_path_patterns</code> in your application configuration. * <code>shell.command_path_patterns</code> in your application configuration.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @see ShellProperties * @see ShellProperties
*/ */

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

@ -34,7 +34,7 @@ import org.springframework.util.StringUtils;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} to enable JMX export for * {@link EnableAutoConfiguration Auto-configuration} to enable JMX export for
* {@link Endpoint}s. * {@link Endpoint}s.
* *
* @author Christian Dupuis * @author Christian Dupuis
*/ */
@Configuration @Configuration

@ -24,7 +24,7 @@ import org.springframework.util.StringUtils;
/** /**
* Configuration properties for JMX. * Configuration properties for JMX.
* *
* @author Christian Dupuis * @author Christian Dupuis
*/ */
@ConfigurationProperties(prefix = "endpoints.jmx") @ConfigurationProperties(prefix = "endpoints.jmx")

@ -77,7 +77,7 @@ import org.springframework.web.servlet.DispatcherServlet;
* different port to {@link ServerProperties} a new child context is created, otherwise it * different port to {@link ServerProperties} a new child context is created, otherwise it
* is assumed that endpoint requests will be mapped and handled via an already registered * is assumed that endpoint requests will be mapped and handled via an already registered
* {@link DispatcherServlet}. * {@link DispatcherServlet}.
* *
* @author Dave Syer * @author Dave Syer
* @author Phillip Webb * @author Phillip Webb
* @author Christian Dupuis * @author Christian Dupuis

@ -51,7 +51,7 @@ import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandl
/** /**
* Configuration triggered from {@link EndpointWebMvcAutoConfiguration} when a new * Configuration triggered from {@link EndpointWebMvcAutoConfiguration} when a new
* {@link EmbeddedServletContainer} running on a different port is required. * {@link EmbeddedServletContainer} running on a different port is required.
* *
* @author Dave Syer * @author Dave Syer
* @see EndpointWebMvcAutoConfiguration * @see EndpointWebMvcAutoConfiguration
*/ */

@ -54,7 +54,7 @@ import org.springframework.data.redis.connection.RedisConnectionFactory;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} for {@link HealthIndicator}s. * {@link EnableAutoConfiguration Auto-configuration} for {@link HealthIndicator}s.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @author Andy Wilkinson * @author Andy Wilkinson
* @since 1.1.0 * @since 1.1.0

@ -25,7 +25,7 @@ import org.springframework.http.HttpStatus;
/** /**
* Configuration properties for the {@link HealthMvcEndpoint}. * Configuration properties for the {@link HealthMvcEndpoint}.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @since 1.1.0 * @since 1.1.0
*/ */

@ -36,18 +36,18 @@ import org.springframework.context.annotation.Configuration;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} for embedding Jolokia, a JMX-HTTP * {@link EnableAutoConfiguration Auto-configuration} for embedding Jolokia, a JMX-HTTP
* bridge giving an alternative to JSR-160 connectors. * bridge giving an alternative to JSR-160 connectors.
* *
* <p> * <p>
* This configuration will get automatically enabled as soon as the Jolokia * This configuration will get automatically enabled as soon as the Jolokia
* {@link AgentServlet} is on the classpath. To disable set * {@link AgentServlet} is on the classpath. To disable set
* <code>endpoints.jolokia.enabled: false</code>. * <code>endpoints.jolokia.enabled: false</code>.
* *
* <p> * <p>
* Additional configuration parameters for Jolokia can be provided by specifying * Additional configuration parameters for Jolokia can be provided by specifying
* <code>jolokia.config.*</code> properties. See the <a * <code>jolokia.config.*</code> properties. See the <a
* href="http://jolokia.org">http://jolokia.org</a> web site for more information on * href="http://jolokia.org">http://jolokia.org</a> web site for more information on
* supported configuration parameters. * supported configuration parameters.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @author Dave Syer * @author Dave Syer
*/ */

@ -23,7 +23,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
/** /**
* Configuration properties for Jolokia. * Configuration properties for Jolokia.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @author Dave Syer * @author Dave Syer
*/ */

@ -62,12 +62,12 @@ import org.springframework.util.StringUtils;
* Many aspects of the behavior can be controller with {@link ManagementServerProperties} * Many aspects of the behavior can be controller with {@link ManagementServerProperties}
* via externalized application properties (or via an bean definition of that type to set * via externalized application properties (or via an bean definition of that type to set
* the defaults). * the defaults).
* *
* <p> * <p>
* The framework {@link Endpoint}s (used to expose application information to operations) * The framework {@link Endpoint}s (used to expose application information to operations)
* include a {@link Endpoint#isSensitive() sensitive} configuration option which will be * include a {@link Endpoint#isSensitive() sensitive} configuration option which will be
* used as a security hint by the filter created here. * used as a security hint by the filter created here.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@Configuration @Configuration

@ -29,7 +29,7 @@ import org.springframework.util.ClassUtils;
/** /**
* Properties for the management server (e.g. port and path settings). * Properties for the management server (e.g. port and path settings).
* *
* @author Dave Syer * @author Dave Syer
* @see ServerProperties * @see ServerProperties
*/ */

@ -30,7 +30,7 @@ import org.springframework.context.annotation.Configuration;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} for the * {@link EnableAutoConfiguration Auto-configuration} for the
* {@link ManagementServerProperties} bean. * {@link ManagementServerProperties} bean.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@Configuration @Configuration

@ -44,7 +44,7 @@ import org.springframework.web.util.UrlPathHelper;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} that records Servlet interactions * {@link EnableAutoConfiguration Auto-configuration} that records Servlet interactions
* with a {@link CounterService} and {@link GaugeService}. * with a {@link CounterService} and {@link GaugeService}.
* *
* @author Dave Syer * @author Dave Syer
* @author Phillip Webb * @author Phillip Webb
*/ */

@ -78,14 +78,14 @@ import com.codahale.metrics.MetricRegistry;
* updates from the default counter and gauge services. Alternatively you can provide your * updates from the default counter and gauge services. Alternatively you can provide your
* own counter and gauge services and wire them to whichever writer you choose. * own counter and gauge services and wire them to whichever writer you choose.
* </p> * </p>
* *
* @see GaugeService * @see GaugeService
* @see CounterService * @see CounterService
* @see MetricWriter * @see MetricWriter
* @see InMemoryMetricRepository * @see InMemoryMetricRepository
* @see CodahaleMetricWriter * @see CodahaleMetricWriter
* @see Exporter * @see Exporter
* *
* @author Dave Syer * @author Dave Syer
*/ */
@Configuration @Configuration

@ -32,7 +32,7 @@ import org.springframework.util.StringUtils;
/** /**
* Configuration properties for the shell subsystem. * Configuration properties for the shell subsystem.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @author Phillip Webb * @author Phillip Webb
*/ */

@ -25,7 +25,7 @@ import org.springframework.context.annotation.Configuration;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} for {@link TraceRepository tracing}. * {@link EnableAutoConfiguration Auto-configuration} for {@link TraceRepository tracing}.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@Configuration @Configuration

@ -34,7 +34,7 @@ import org.springframework.web.servlet.DispatcherServlet;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} for {@link WebRequestTraceFilter * {@link EnableAutoConfiguration Auto-configuration} for {@link WebRequestTraceFilter
* tracing}. * tracing}.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class, ServletRegistration.class }) @ConditionalOnClass({ Servlet.class, DispatcherServlet.class, ServletRegistration.class })

@ -21,7 +21,7 @@ import javax.validation.constraints.Pattern;
/** /**
* Abstract base for {@link Endpoint} implementations. * Abstract base for {@link Endpoint} implementations.
* *
* @author Phillip Webb * @author Phillip Webb
* @author Christian Dupuis * @author Christian Dupuis
*/ */

@ -38,7 +38,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
/** /**
* {@link Endpoint} to expose the {@link ConditionEvaluationReport}. * {@link Endpoint} to expose the {@link ConditionEvaluationReport}.
* *
* @author Greg Turnquist * @author Greg Turnquist
* @author Phillip Webb * @author Phillip Webb
* @author Dave Syer * @author Dave Syer

@ -32,7 +32,7 @@ import org.springframework.core.env.Environment;
* the {@link LiveBeansView#MBEAN_DOMAIN_PROPERTY_NAME} then all application contexts in * the {@link LiveBeansView#MBEAN_DOMAIN_PROPERTY_NAME} then all application contexts in
* the JVM will be shown (and the corresponding MBeans will be registered per the standard * the JVM will be shown (and the corresponding MBeans will be registered per the standard
* behavior of LiveBeansView). Otherwise only the current application context. * behavior of LiveBeansView). Otherwise only the current application context.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@ConfigurationProperties(prefix = "endpoints.beans", ignoreUnknownFields = false) @ConfigurationProperties(prefix = "endpoints.beans", ignoreUnknownFields = false)

@ -50,13 +50,13 @@ import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
/** /**
* {@link Endpoint} to expose application properties from {@link ConfigurationProperties} * {@link Endpoint} to expose application properties from {@link ConfigurationProperties}
* annotated beans. * annotated beans.
* *
* <p> * <p>
* To protect sensitive information from being exposed, certain property values are masked * To protect sensitive information from being exposed, certain property values are masked
* if their names end with a set of configurable values (default "password" and "secret"). * if their names end with a set of configurable values (default "password" and "secret").
* Configure property names by using <code>endpoints.configprops.keys_to_sanitize</code> * Configure property names by using <code>endpoints.configprops.keys_to_sanitize</code>
* in your Spring Boot application configuration. * in your Spring Boot application configuration.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @author Dave Syer * @author Dave Syer
*/ */

@ -25,7 +25,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
/** /**
* {@link Endpoint} to expose thread info. * {@link Endpoint} to expose thread info.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@ConfigurationProperties(prefix = "endpoints.dump", ignoreUnknownFields = false) @ConfigurationProperties(prefix = "endpoints.dump", ignoreUnknownFields = false)

@ -19,7 +19,7 @@ package org.springframework.boot.actuate.endpoint;
/** /**
* An endpoint that can be used to expose useful information to operations. Usually * An endpoint that can be used to expose useful information to operations. Usually
* exposed via Spring MVC but could also be exposed using some other technique. * exposed via Spring MVC but could also be exposed using some other technique.
* *
* @author Phillip Webb * @author Phillip Webb
* @author Dave Syer * @author Dave Syer
* @author Christian Dupuis * @author Christian Dupuis

@ -37,7 +37,7 @@ import org.springframework.util.ReflectionUtils;
/** /**
* {@link Endpoint} to expose {@link ConfigurableEnvironment environment} information. * {@link Endpoint} to expose {@link ConfigurableEnvironment environment} information.
* *
* @author Dave Syer * @author Dave Syer
* @author Phillip Webb * @author Phillip Webb
* @author Christian Dupuis * @author Christian Dupuis

@ -27,7 +27,7 @@ import org.springframework.util.Assert;
/** /**
* {@link Endpoint} to expose application health. * {@link Endpoint} to expose application health.
* *
* @author Dave Syer * @author Dave Syer
* @author Christian Dupuis * @author Christian Dupuis
*/ */

@ -25,7 +25,7 @@ import org.springframework.util.Assert;
/** /**
* {@link Endpoint} to expose arbitrary application information. * {@link Endpoint} to expose arbitrary application information.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@ConfigurationProperties(prefix = "endpoints.info", ignoreUnknownFields = false) @ConfigurationProperties(prefix = "endpoints.info", ignoreUnknownFields = false)
@ -35,7 +35,7 @@ public class InfoEndpoint extends AbstractEndpoint<Map<String, Object>> {
/** /**
* Create a new {@link InfoEndpoint} instance. * Create a new {@link InfoEndpoint} instance.
* *
* @param info the info to expose * @param info the info to expose
*/ */
public InfoEndpoint(Map<String, ? extends Object> info) { public InfoEndpoint(Map<String, ? extends Object> info) {

@ -25,7 +25,7 @@ import org.springframework.util.Assert;
/** /**
* {@link Endpoint} to expose {@link PublicMetrics}. * {@link Endpoint} to expose {@link PublicMetrics}.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@ConfigurationProperties(prefix = "endpoints.metrics", ignoreUnknownFields = false) @ConfigurationProperties(prefix = "endpoints.metrics", ignoreUnknownFields = false)
@ -35,7 +35,7 @@ public class MetricsEndpoint extends AbstractEndpoint<Map<String, Object>> {
/** /**
* Create a new {@link MetricsEndpoint} instance. * Create a new {@link MetricsEndpoint} instance.
* *
* @param metrics the metrics to expose * @param metrics the metrics to expose
*/ */
public MetricsEndpoint(PublicMetrics metrics) { public MetricsEndpoint(PublicMetrics metrics) {

@ -22,7 +22,7 @@ import org.springframework.boot.actuate.metrics.Metric;
/** /**
* Interface to expose specific {@link Metric}s via a {@link MetricsEndpoint}. * Interface to expose specific {@link Metric}s via a {@link MetricsEndpoint}.
* *
* @author Dave Syer * @author Dave Syer
* @see VanillaPublicMetrics * @see VanillaPublicMetrics
*/ */

@ -33,7 +33,7 @@ import org.springframework.web.servlet.handler.AbstractUrlHandlerMapping;
/** /**
* {@link Endpoint} to expose Spring MVC mappings. * {@link Endpoint} to expose Spring MVC mappings.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@ConfigurationProperties(prefix = "endpoints.mappings", ignoreUnknownFields = false) @ConfigurationProperties(prefix = "endpoints.mappings", ignoreUnknownFields = false)

@ -27,7 +27,7 @@ import org.springframework.context.ConfigurableApplicationContext;
/** /**
* {@link Endpoint} to shutdown the {@link ApplicationContext}. * {@link Endpoint} to shutdown the {@link ApplicationContext}.
* *
* @author Dave Syer * @author Dave Syer
* @author Christian Dupuis * @author Christian Dupuis
*/ */

@ -25,7 +25,7 @@ import org.springframework.util.Assert;
/** /**
* {@link Endpoint} to expose {@link Trace} information. * {@link Endpoint} to expose {@link Trace} information.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@ConfigurationProperties(prefix = "endpoints.trace", ignoreUnknownFields = false) @ConfigurationProperties(prefix = "endpoints.trace", ignoreUnknownFields = false)

@ -33,7 +33,7 @@ import org.springframework.util.StringUtils;
/** /**
* Default implementation of {@link PublicMetrics} that exposes all metrics from a * Default implementation of {@link PublicMetrics} that exposes all metrics from a
* {@link MetricReader} along with memory information. * {@link MetricReader} along with memory information.
* *
* @author Dave Syer * @author Dave Syer
* @author Christian Dupuis * @author Christian Dupuis
*/ */

@ -23,7 +23,7 @@ import org.springframework.jmx.export.annotation.ManagedResource;
/** /**
* Simple wrapper around {@link Endpoint} implementations that provide actuator data of * Simple wrapper around {@link Endpoint} implementations that provide actuator data of
* some sort. * some sort.
* *
* @author Christian Dupuis * @author Christian Dupuis
*/ */
@ManagedResource @ManagedResource

@ -29,7 +29,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
/** /**
* Simple wrapper around {@link Endpoint} implementations to enable JMX export. * Simple wrapper around {@link Endpoint} implementations to enable JMX export.
* *
* @author Christian Dupuis * @author Christian Dupuis
*/ */
@ManagedResource @ManagedResource

@ -53,7 +53,7 @@ import org.springframework.util.ObjectUtils;
* {@link ApplicationListener} that registers all known {@link Endpoint}s with an * {@link ApplicationListener} that registers all known {@link Endpoint}s with an
* {@link MBeanServer} using the {@link MBeanExporter} located from the application * {@link MBeanServer} using the {@link MBeanExporter} located from the application
* context. * context.
* *
* @author Christian Dupuis * @author Christian Dupuis
*/ */
public class EndpointMBeanExporter extends MBeanExporter implements SmartLifecycle, public class EndpointMBeanExporter extends MBeanExporter implements SmartLifecycle,

@ -23,7 +23,7 @@ import org.springframework.jmx.export.annotation.ManagedResource;
/** /**
* Special endpoint wrapper for {@link ShutdownEndpoint}. * Special endpoint wrapper for {@link ShutdownEndpoint}.
* *
* @author Christian Dupuis * @author Christian Dupuis
*/ */
@ManagedResource @ManagedResource

@ -36,13 +36,13 @@ import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandl
* The semantics of {@code @RequestMapping} should be identical to a normal * The semantics of {@code @RequestMapping} should be identical to a normal
* {@code @Controller}, but the endpoints should not be annotated as {@code @Controller} * {@code @Controller}, but the endpoints should not be annotated as {@code @Controller}
* (otherwise they will be mapped by the normal MVC mechanisms). * (otherwise they will be mapped by the normal MVC mechanisms).
* *
* <p> * <p>
* One of the aims of the mapping is to support endpoints that work as HTTP endpoints but * One of the aims of the mapping is to support endpoints that work as HTTP endpoints but
* can still provide useful service interfaces when there is no HTTP server (and no Spring * can still provide useful service interfaces when there is no HTTP server (and no Spring
* MVC on the classpath). Note that any endpoints having method signaturess will break in * MVC on the classpath). Note that any endpoints having method signaturess will break in
* a non-servlet environment. * a non-servlet environment.
* *
* @author Phillip Webb * @author Phillip Webb
* @author Christian Dupuis * @author Christian Dupuis
* @author Dave Syer * @author Dave Syer

@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
/** /**
* Adapter class to expose {@link Endpoint}s as {@link MvcEndpoint}s. * Adapter class to expose {@link Endpoint}s as {@link MvcEndpoint}s.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class EndpointMvcAdapter implements MvcEndpoint { public class EndpointMvcAdapter implements MvcEndpoint {

@ -28,7 +28,7 @@ import org.springframework.web.bind.annotation.ResponseStatus;
/** /**
* Adapter to expose {@link EnvironmentEndpoint} as an {@link MvcEndpoint}. * Adapter to expose {@link EnvironmentEndpoint} as an {@link MvcEndpoint}.
* *
* @author Dave Syer * @author Dave Syer
* @author Christian Dupuis * @author Christian Dupuis
*/ */

@ -31,7 +31,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
/** /**
* Adapter to expose {@link HealthEndpoint} as an {@link MvcEndpoint}. * Adapter to expose {@link HealthEndpoint} as an {@link MvcEndpoint}.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @since 1.1.0 * @since 1.1.0
*/ */

@ -40,7 +40,7 @@ import org.springframework.web.util.UrlPathHelper;
/** /**
* {@link MvcEndpoint} to expose Jolokia. * {@link MvcEndpoint} to expose Jolokia.
* *
* @author Christian Dupuis * @author Christian Dupuis
*/ */
@ConfigurationProperties(prefix = "endpoints.jolokia", ignoreUnknownFields = false) @ConfigurationProperties(prefix = "endpoints.jolokia", ignoreUnknownFields = false)

@ -31,7 +31,7 @@ import org.springframework.web.context.request.RequestContextHolder;
* Special {@link MvcEndpoint} for handling "/error" path when the management servlet is * Special {@link MvcEndpoint} for handling "/error" path when the management servlet is
* in a child context. The regular {@link ErrorController} should be available there but * in a child context. The regular {@link ErrorController} should be available there but
* because of the way the handler mappings are set up it will not be detected. * because of the way the handler mappings are set up it will not be detected.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@ConfigurationProperties(prefix = "error") @ConfigurationProperties(prefix = "error")

@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.ResponseStatus;
/** /**
* Adapter to expose {@link MetricsEndpoint} as an {@link MvcEndpoint}. * Adapter to expose {@link MetricsEndpoint} as an {@link MvcEndpoint}.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class MetricsMvcEndpoint extends EndpointMvcAdapter { public class MetricsMvcEndpoint extends EndpointMvcAdapter {

@ -24,7 +24,7 @@ import org.springframework.boot.actuate.endpoint.Endpoint;
* use <code>@Controller</code> or <code>@RequestMapping</code> at the type level (since * use <code>@Controller</code> or <code>@RequestMapping</code> at the type level (since
* that would lead to a double mapping of paths, once by the regular MVC handler mappings * that would lead to a double mapping of paths, once by the regular MVC handler mappings
* and once by the {@link EndpointHandlerMapping}). * and once by the {@link EndpointHandlerMapping}).
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface MvcEndpoint { public interface MvcEndpoint {

@ -32,7 +32,7 @@ import org.springframework.stereotype.Component;
* A registry for all {@link MvcEndpoint} beans, and a factory for a set of generic ones * A registry for all {@link MvcEndpoint} beans, and a factory for a set of generic ones
* wrapping existing {@link Endpoint} instances that are not already exposed as MVC * wrapping existing {@link Endpoint} instances that are not already exposed as MVC
* endpoints. * endpoints.
* *
* @author Dave Syer * @author Dave Syer
*/ */
@Component @Component

@ -28,7 +28,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
/** /**
* Adapter to expose {@link ShutdownEndpoint} as an {@link MvcEndpoint}. * Adapter to expose {@link ShutdownEndpoint} as an {@link MvcEndpoint}.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class ShutdownMvcEndpoint extends EndpointMvcAdapter { public class ShutdownMvcEndpoint extends EndpointMvcAdapter {

@ -24,7 +24,7 @@ import java.util.Map;
/** /**
* Base {@link HealthAggregator} implementation to allow subclasses to focus on * Base {@link HealthAggregator} implementation to allow subclasses to focus on
* aggregating the {@link Status} instances and not deal with contextual details etc. * aggregating the {@link Status} instances and not deal with contextual details etc.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @since 1.1.0 * @since 1.1.0
*/ */

@ -25,7 +25,7 @@ import org.springframework.boot.actuate.health.Health.Builder;
* This implementation is only suitable if an {@link Exception} raised from * This implementation is only suitable if an {@link Exception} raised from
* {@link #doHealthCheck(org.springframework.boot.actuate.health.Health.Builder)} should * {@link #doHealthCheck(org.springframework.boot.actuate.health.Health.Builder)} should
* create a {@link Status#DOWN} health status. * create a {@link Status#DOWN} health status.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @since 1.1.0 * @since 1.1.0
*/ */

@ -23,7 +23,7 @@ import org.springframework.util.Assert;
/** /**
* {@link HealthIndicator} that returns health indications from all registered delegates. * {@link HealthIndicator} that returns health indications from all registered delegates.
* *
* @author Tyler J. Frederick * @author Tyler J. Frederick
* @author Phillip Webb * @author Phillip Webb
* @author Christian Dupuis * @author Christian Dupuis

@ -31,7 +31,7 @@ import org.springframework.util.StringUtils;
/** /**
* {@link HealthIndicator} that tests the status of a {@link DataSource} and optionally * {@link HealthIndicator} that tests the status of a {@link DataSource} and optionally
* runs a test query. * runs a test query.
* *
* @author Dave Syer * @author Dave Syer
* @author Christian Dupuis * @author Christian Dupuis
* @since 1.1.0 * @since 1.1.0

@ -35,7 +35,7 @@ import com.fasterxml.jackson.annotation.JsonUnwrapped;
* <p> * <p>
* {@link Health} instances can be created by using {@link Builder}'s fluent API. Typical * {@link Health} instances can be created by using {@link Builder}'s fluent API. Typical
* usage in a {@link HealthIndicator} would be: * usage in a {@link HealthIndicator} would be:
* *
* <pre class="code"> * <pre class="code">
* try { * try {
* // do some test to determine state of component * // do some test to determine state of component
@ -45,7 +45,7 @@ import com.fasterxml.jackson.annotation.JsonUnwrapped;
* return new Health.Builder().down(ex).build(); * return new Health.Builder().down(ex).build();
* } * }
* </pre> * </pre>
* *
* @author Christian Dupuis * @author Christian Dupuis
* @author Phillip Webb * @author Phillip Webb
* @since 1.1.0 * @since 1.1.0

@ -30,7 +30,7 @@ import java.util.Map;
* It is possible to add more complex {@link Status} types to the system. In that case * It is possible to add more complex {@link Status} types to the system. In that case
* either the {@link OrderedHealthAggregator} needs to be properly configured or users * either the {@link OrderedHealthAggregator} needs to be properly configured or users
* need to register a custom {@link HealthAggregator} as bean. * need to register a custom {@link HealthAggregator} as bean.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @since 1.1.0 * @since 1.1.0
*/ */

@ -18,7 +18,7 @@ package org.springframework.boot.actuate.health;
/** /**
* Strategy interface used to provide an indication of application health. * Strategy interface used to provide an indication of application health.
* *
* @author Dave Syer * @author Dave Syer
* @see VanillaHealthIndicator * @see VanillaHealthIndicator
*/ */

@ -24,7 +24,7 @@ import com.mongodb.CommandResult;
/** /**
* Simple implementation of a {@link HealthIndicator} returning status information for * Simple implementation of a {@link HealthIndicator} returning status information for
* Mongo data stores. * Mongo data stores.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @since 1.1.0 * @since 1.1.0
*/ */

@ -29,7 +29,7 @@ import org.springframework.util.Assert;
* <p> * <p>
* If a different order is required or a new {@link Status} type will be used, the order * If a different order is required or a new {@link Status} type will be used, the order
* can be set by calling {@link #setStatusOrder(List)}. * can be set by calling {@link #setStatusOrder(List)}.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @since 1.1.0 * @since 1.1.0
*/ */

@ -27,7 +27,7 @@ import com.rabbitmq.client.Channel;
/** /**
* Simple implementation of a {@link HealthIndicator} returning status information for the * Simple implementation of a {@link HealthIndicator} returning status information for the
* RabbitMQ messaging system. * RabbitMQ messaging system.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @since 1.1.0 * @since 1.1.0
*/ */

@ -26,7 +26,7 @@ import org.springframework.util.Assert;
/** /**
* Simple implementation of a {@link HealthIndicator} returning status information for * Simple implementation of a {@link HealthIndicator} returning status information for
* Redis data stores. * Redis data stores.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @since 1.1.0 * @since 1.1.0
*/ */

@ -20,7 +20,7 @@ import org.apache.solr.client.solrj.SolrServer;
/** /**
* {@link HealthIndicator} for Apache Solr. * {@link HealthIndicator} for Apache Solr.
* *
* @author Andy Wilkinson * @author Andy Wilkinson
* @since 1.1.0 * @since 1.1.0
*/ */

@ -30,7 +30,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* {@link #DOWN} or {@link #OUT_OF_SERVICE}. * {@link #DOWN} or {@link #OUT_OF_SERVICE}.
* <p> * <p>
* Custom states can also be created and used throughout the Spring Boot Health subsystem. * Custom states can also be created and used throughout the Spring Boot Health subsystem.
* *
* @author Christian Dupuis * @author Christian Dupuis
* @since 1.1.0 * @since 1.1.0
*/ */

@ -18,7 +18,7 @@ package org.springframework.boot.actuate.health;
/** /**
* Default implementation of {@link HealthIndicator} that returns {@link Status#UP}. * Default implementation of {@link HealthIndicator} that returns {@link Status#UP}.
* *
* @author Dave Syer * @author Dave Syer
* @author Christian Dupuis * @author Christian Dupuis
* @see Status#UP * @see Status#UP

@ -18,7 +18,7 @@ package org.springframework.boot.actuate.metrics;
/** /**
* A service that can be used to increment, decrement and reset a named counter value. * A service that can be used to increment, decrement and reset a named counter value.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface CounterService { public interface CounterService {

@ -24,7 +24,7 @@ package org.springframework.boot.actuate.metrics;
* would go to a backend that keeps a histogram of recent values for comparison purposes. * would go to a backend that keeps a histogram of recent values for comparison purposes.
* Or it could be a simple measurement of a sensor value (like a temperature reading) to * Or it could be a simple measurement of a sensor value (like a temperature reading) to
* be passed on to a monitoring system in its raw form. * be passed on to a monitoring system in its raw form.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface GaugeService { public interface GaugeService {

@ -25,7 +25,7 @@ import org.springframework.util.ObjectUtils;
* Immutable class that can be used to hold any arbitrary system measurement value (a * Immutable class that can be used to hold any arbitrary system measurement value (a
* named numeric value with a timestamp). For example a metric might record the number of * named numeric value with a timestamp). For example a metric might record the number of
* active connections to a server, or the temperature of a meeting room. * active connections to a server, or the temperature of a meeting room.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class Metric<T extends Number> { public class Metric<T extends Number> {

@ -29,7 +29,7 @@ import org.springframework.util.StringUtils;
* Base class for metric exporters that have common features, principally a prefix for * Base class for metric exporters that have common features, principally a prefix for
* exported metrics and filtering by timestamp (so only new values are included in the * exported metrics and filtering by timestamp (so only new values are included in the
* export). * export).
* *
* @author Dave Syer * @author Dave Syer
*/ */
public abstract class AbstractMetricExporter implements Exporter { public abstract class AbstractMetricExporter implements Exporter {

@ -23,7 +23,7 @@ package org.springframework.boot.actuate.metrics.export;
* an export operation might be periodic or even driven, but it remains outside the scope * an export operation might be periodic or even driven, but it remains outside the scope
* of this interface. You might for instance create an instance of an Exporter and trigger * of this interface. You might for instance create an instance of an Exporter and trigger
* it using a {@code @Scheduled} annotation in a Spring ApplicationContext. * it using a {@code @Scheduled} annotation in a Spring ApplicationContext.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface Exporter { public interface Exporter {

@ -25,7 +25,7 @@ import org.springframework.boot.actuate.metrics.writer.MetricWriter;
/** /**
* {@link Exporter} that "exports" by copying metric data from a source * {@link Exporter} that "exports" by copying metric data from a source
* {@link MetricReader} to a destination {@link MetricWriter}. * {@link MetricReader} to a destination {@link MetricWriter}.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class MetricCopyExporter extends AbstractMetricExporter { public class MetricCopyExporter extends AbstractMetricExporter {

@ -28,7 +28,7 @@ import org.springframework.boot.actuate.metrics.writer.PrefixMetricWriter;
/** /**
* A convenient exporter for a group of metrics from a {@link PrefixMetricReader}. Exports * A convenient exporter for a group of metrics from a {@link PrefixMetricReader}. Exports
* all metrics whose name starts with a prefix (or all metrics if the prefix is empty). * all metrics whose name starts with a prefix (or all metrics if the prefix is empty).
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class PrefixMetricGroupExporter extends AbstractMetricExporter { public class PrefixMetricGroupExporter extends AbstractMetricExporter {

@ -36,7 +36,7 @@ import org.springframework.boot.actuate.metrics.writer.PrefixMetricWriter;
* {@link MetricWriter} provided is a {@link MultiMetricRepository} then the values for a * {@link MetricWriter} provided is a {@link MultiMetricRepository} then the values for a
* gauge will be stored as a group, and hence will be retrievable from the repository in a * gauge will be stored as a group, and hence will be retrievable from the repository in a
* single query (or optionally individually). * single query (or optionally individually).
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class RichGaugeExporter extends AbstractMetricExporter { public class RichGaugeExporter extends AbstractMetricExporter {

@ -23,7 +23,7 @@ import org.springframework.boot.actuate.metrics.Metric;
/** /**
* Composite implementation of {@link MetricReader}. * Composite implementation of {@link MetricReader}.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class CompositeMetricReader implements MetricReader { public class CompositeMetricReader implements MetricReader {

@ -20,7 +20,7 @@ import org.springframework.boot.actuate.metrics.Metric;
/** /**
* A simple reader interface used to interrogate {@link Metric}s. * A simple reader interface used to interrogate {@link Metric}s.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface MetricReader { public interface MetricReader {

@ -20,7 +20,7 @@ import org.springframework.boot.actuate.metrics.Metric;
/** /**
* Interface for extracting metrics as a group whose name starts with a prefix. * Interface for extracting metrics as a group whose name starts with a prefix.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface PrefixMetricReader { public interface PrefixMetricReader {

@ -31,7 +31,7 @@ import org.springframework.boot.actuate.metrics.writer.Delta;
/** /**
* {@link MetricRepository} and {@link MultiMetricRepository} implementation that stores * {@link MetricRepository} and {@link MultiMetricRepository} implementation that stores
* metrics in memory. * metrics in memory.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class InMemoryMetricRepository implements MetricRepository, MultiMetricRepository, public class InMemoryMetricRepository implements MetricRepository, MultiMetricRepository,

@ -21,7 +21,7 @@ import org.springframework.boot.actuate.metrics.writer.MetricWriter;
/** /**
* Convenient combination of reader and writer concerns. * Convenient combination of reader and writer concerns.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface MetricRepository extends MetricReader, MetricWriter { public interface MetricRepository extends MetricReader, MetricWriter {

@ -22,7 +22,7 @@ import org.springframework.boot.actuate.metrics.writer.PrefixMetricWriter;
/** /**
* A repository for metrics that allows efficient storage and retrieval of groups of * A repository for metrics that allows efficient storage and retrieval of groups of
* metrics with a common name prefix (their group name). * metrics with a common name prefix (their group name).
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface MultiMetricRepository extends PrefixMetricReader, PrefixMetricWriter { public interface MultiMetricRepository extends PrefixMetricReader, PrefixMetricWriter {

@ -37,7 +37,7 @@ import org.springframework.util.Assert;
* multiple metrics repositories all point at the same instance of Redis, it may be useful * multiple metrics repositories all point at the same instance of Redis, it may be useful
* to change the prefix to be unique (but not if you want them to contribute to the same * to change the prefix to be unique (but not if you want them to contribute to the same
* metrics). * metrics).
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class RedisMetricRepository implements MetricRepository { public class RedisMetricRepository implements MetricRepository {

@ -36,7 +36,7 @@ import org.springframework.util.Assert;
* stored as zset values and the timestamps as regular values, both against a key composed * stored as zset values and the timestamps as regular values, both against a key composed
* of the group name prefixed with a constant prefix (default "spring.groups."). The group * of the group name prefixed with a constant prefix (default "spring.groups."). The group
* names are stored as a zset under "keys." + <code>[prefix]</code>. * names are stored as a zset under "keys." + <code>[prefix]</code>.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class RedisMultiMetricRepository implements MultiMetricRepository { public class RedisMultiMetricRepository implements MultiMetricRepository {

@ -25,7 +25,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
/** /**
* General Utils for working with Redis. * General Utils for working with Redis.
* *
* @author Luke Taylor * @author Luke Taylor
*/ */
class RedisUtils { class RedisUtils {

@ -27,7 +27,7 @@ import org.springframework.boot.actuate.metrics.writer.MetricWriter;
* set a metric value (using {@link MetricWriter#set(Metric)}) it is used to update a rich * set a metric value (using {@link MetricWriter#set(Metric)}) it is used to update a rich
* gauge (increment is a no-op). Gauge values can then be read out using the reader * gauge (increment is a no-op). Gauge values can then be read out using the reader
* operations. * operations.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class InMemoryRichGaugeRepository implements RichGaugeRepository { public class InMemoryRichGaugeRepository implements RichGaugeRepository {

@ -27,7 +27,7 @@ import org.springframework.boot.actuate.metrics.repository.MultiMetricRepository
* {@link MultiMetricRepository} where the group name is the RichGauge name. The format * {@link MultiMetricRepository} where the group name is the RichGauge name. The format
* used matches that in he RichGaugeExporter, so this reader can be used on a store that * used matches that in he RichGaugeExporter, so this reader can be used on a store that
* has been populated using that exporter. * has been populated using that exporter.
* *
* @author Dave Syer * @author Dave Syer
* @since 1.1.0 * @since 1.1.0
*/ */

@ -26,7 +26,7 @@ import org.springframework.util.Assert;
* is set, an exponential moving average will be calculated as defined in this <a * is set, an exponential moving average will be calculated as defined in this <a
* href="http://www.itl.nist.gov/div898/handbook/pmc/section4/pmc431.htm">NIST * href="http://www.itl.nist.gov/div898/handbook/pmc/section4/pmc431.htm">NIST
* document</a>. * document</a>.
* *
* @author Luke Taylor * @author Luke Taylor
*/ */
public final class RichGauge { public final class RichGauge {
@ -94,7 +94,7 @@ public final class RichGauge {
/** /**
* Either an exponential weighted moving average or a simple mean, respectively, * Either an exponential weighted moving average or a simple mean, respectively,
* depending on whether the weight 'alpha' has been set for this gauge. * depending on whether the weight 'alpha' has been set for this gauge.
* *
* @return The average over all the accumulated values * @return The average over all the accumulated values
*/ */
public double getAverage() { public double getAverage() {

@ -18,7 +18,7 @@ package org.springframework.boot.actuate.metrics.rich;
/** /**
* A basic set of read operations for {@link RichGauge} instances. * A basic set of read operations for {@link RichGauge} instances.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface RichGaugeReader { public interface RichGaugeReader {

@ -20,7 +20,7 @@ import org.springframework.boot.actuate.metrics.writer.MetricWriter;
/** /**
* Convenient combination of reader and writer concerns for {@link RichGauge} instances. * Convenient combination of reader and writer concerns for {@link RichGauge} instances.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface RichGaugeRepository extends RichGaugeReader, MetricWriter { public interface RichGaugeRepository extends RichGaugeReader, MetricWriter {

@ -26,7 +26,7 @@ import org.springframework.util.ConcurrentReferenceHashMap;
/** /**
* Repository utility that stores stuff in memory with period-separated String keys. * Repository utility that stores stuff in memory with period-separated String keys.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class SimpleInMemoryRepository<T> { public class SimpleInMemoryRepository<T> {

@ -32,7 +32,7 @@ import com.codahale.metrics.Timer;
/** /**
* A {@link MetricWriter} that send data to a Codahale {@link MetricRegistry} based on a * A {@link MetricWriter} that send data to a Codahale {@link MetricRegistry} based on a
* naming convention: * naming convention:
* *
* <ul> * <ul>
* <li>Updates to {@link #increment(Delta)} with names in "meter.*" are treated as * <li>Updates to {@link #increment(Delta)} with names in "meter.*" are treated as
* {@link Meter} events</li> * {@link Meter} events</li>
@ -44,7 +44,7 @@ import com.codahale.metrics.Timer;
* <li>Other metrics are treated as simple {@link Gauge} values (single valued * <li>Other metrics are treated as simple {@link Gauge} values (single valued
* measurements of type double)</li> * measurements of type double)</li>
* </ul> * </ul>
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class CodahaleMetricWriter implements MetricWriter { public class CodahaleMetricWriter implements MetricWriter {

@ -24,7 +24,7 @@ import org.springframework.boot.actuate.metrics.Metric;
/** /**
* Composite implementation of {@link MetricWriter} that just sends its input to all of * Composite implementation of {@link MetricWriter} that just sends its input to all of
* the delegates that have been registered. * the delegates that have been registered.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class CompositeMetricWriter implements MetricWriter { public class CompositeMetricWriter implements MetricWriter {

@ -20,7 +20,7 @@ import org.springframework.boot.actuate.metrics.CounterService;
/** /**
* Default implementation of {@link CounterService}. * Default implementation of {@link CounterService}.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class DefaultCounterService implements CounterService { public class DefaultCounterService implements CounterService {

@ -21,7 +21,7 @@ import org.springframework.boot.actuate.metrics.Metric;
/** /**
* Default implementation of {@link GaugeService}. * Default implementation of {@link GaugeService}.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class DefaultGaugeService implements GaugeService { public class DefaultGaugeService implements GaugeService {

@ -22,7 +22,7 @@ import org.springframework.boot.actuate.metrics.Metric;
/** /**
* A value object representing an increment in a metric value (usually a counter). * A value object representing an increment in a metric value (usually a counter).
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class Delta<T extends Number> extends Metric<T> { public class Delta<T extends Number> extends Metric<T> {

@ -24,7 +24,7 @@ import org.springframework.messaging.support.MessageBuilder;
* A {@link MetricWriter} that publishes the metric updates on a {@link MessageChannel}. * A {@link MetricWriter} that publishes the metric updates on a {@link MessageChannel}.
* The messages have the writer input ({@link Delta} or {@link Metric}) as payload, and * The messages have the writer input ({@link Delta} or {@link Metric}) as payload, and
* carry an additional header "metricName" with the name of the metric in it. * carry an additional header "metricName" with the name of the metric in it.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class MessageChannelMetricWriter implements MetricWriter { public class MessageChannelMetricWriter implements MetricWriter {

@ -20,7 +20,7 @@ import org.springframework.boot.actuate.metrics.Metric;
/** /**
* Basic strategy for write operations on {@link Metric} data. * Basic strategy for write operations on {@link Metric} data.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public interface MetricWriter { public interface MetricWriter {

@ -24,7 +24,7 @@ import org.springframework.messaging.MessagingException;
/** /**
* A {@link MessageHandler} that updates {@link Metric} values through a * A {@link MessageHandler} that updates {@link Metric} values through a
* {@link MetricWriter}. * {@link MetricWriter}.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public final class MetricWriterMessageHandler implements MessageHandler { public final class MetricWriterMessageHandler implements MessageHandler {

@ -23,7 +23,7 @@ import org.springframework.boot.actuate.metrics.Metric;
/** /**
* A writer for metrics that allows efficient storage of groups of metrics with a common * A writer for metrics that allows efficient storage of groups of metrics with a common
* name prefix (their group name). * name prefix (their group name).
* *
* @author Dave Syer * @author Dave Syer
* @since 1.1.0 * @since 1.1.0
*/ */

@ -32,7 +32,7 @@ import org.springframework.util.ClassUtils;
/** /**
* {@link ApplicationListener} expose Spring Security {@link AbstractAuthenticationEvent * {@link ApplicationListener} expose Spring Security {@link AbstractAuthenticationEvent
* authentication events} as {@link AuditEvent}s. * authentication events} as {@link AuditEvent}s.
* *
* @author Dave Syer * @author Dave Syer
*/ */
public class AuthenticationAuditListener implements public class AuthenticationAuditListener implements

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save