Improve the package structure of spring-boot-actuator module

Closes gh-7545
This commit is contained in:
Andy Wilkinson 2017-08-10 12:08:01 +01:00
parent 0fd64db871
commit 0aa39d0279
122 changed files with 661 additions and 463 deletions

View File

@ -1,84 +0,0 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
import java.util.List;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoints;
import org.springframework.boot.actuate.endpoint.mvc.NamedMvcEndpoint;
import org.springframework.hateoas.ResourceSupport;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.util.StringUtils;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
/**
* Adds endpoint links to {@link ResourceSupport}.
*
* @author Dave Syer
* @author Madhura Bhave
*/
class LinksEnhancer {
private final String rootPath;
private final MvcEndpoints endpoints;
LinksEnhancer(String rootPath, MvcEndpoints endpoints) {
this.rootPath = rootPath;
this.endpoints = endpoints;
}
public void addEndpointLinks(ResourceSupport resource, String self) {
if (!resource.hasLink("self")) {
resource.add(linkTo(LinksEnhancer.class).slash(this.rootPath + self)
.withSelfRel());
}
MultiValueMap<String, String> added = new LinkedMultiValueMap<>();
for (MvcEndpoint endpoint : this.endpoints.getEndpoints()) {
if (!endpoint.getPath().equals(self)) {
String rel = getRel(endpoint);
List<String> paths = added.get(rel);
if (paths == null || !paths.contains(endpoint.getPath())) {
addEndpointLink(resource, endpoint, rel);
added.add(rel, endpoint.getPath());
}
}
}
}
private String getRel(MvcEndpoint endpoint) {
if (endpoint instanceof NamedMvcEndpoint) {
return ((NamedMvcEndpoint) endpoint).getName();
}
String path = endpoint.getPath();
return (path.startsWith("/") ? path.substring(1) : path);
}
private void addEndpointLink(ResourceSupport resource, MvcEndpoint endpoint,
String rel) {
Class<?> type = endpoint.getEndpointType();
type = (type == null ? Object.class : type);
if (StringUtils.hasText(rel)) {
String href = this.rootPath + endpoint.getPath();
resource.add(linkTo(type).slash(href).withRel(rel));
}
}
}

View File

@ -32,14 +32,15 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
*
* @author Stephane Nicoll
* @author Madhura Bhave
* @since 2.0.0
*/
abstract class OnEnabledEndpointElementCondition extends SpringBootCondition {
public abstract class OnEnabledEndpointElementCondition extends SpringBootCondition {
private final String prefix;
private final Class<? extends Annotation> annotationType;
OnEnabledEndpointElementCondition(String prefix,
protected OnEnabledEndpointElementCondition(String prefix,
Class<? extends Annotation> annotationType) {
this.prefix = prefix;
this.annotationType = annotationType;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.audit;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.actuate.audit.AuditEvent;
@ -37,6 +37,7 @@ import org.springframework.context.annotation.Configuration;
*
* @author Dave Syer
* @author Vedran Pavic
* @since 2.0.0
*/
@Configuration
public class AuditAutoConfiguration {

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Auto-configuration for audit events.
*/
package org.springframework.boot.actuate.autoconfigure.audit;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.cache;
import javax.cache.Caching;
@ -56,7 +56,7 @@ import org.springframework.context.annotation.Configuration;
* @author Stephane Nicoll
* @author Phillip Webb
* @author Eddú Meléndez
* @since 1.3.0
* @since 2.0.0
*/
@Configuration
@AutoConfigureAfter(CacheAutoConfiguration.class)

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Auto-configuration for cache statistics.
*/
package org.springframework.boot.actuate.autoconfigure.cache;

View File

@ -14,13 +14,17 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.cloudfoundry;
package org.springframework.boot.actuate.autoconfigure.cloudfoundry;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
import org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.cloudfoundry.CloudFoundryEndpointHandlerMapping;
import org.springframework.boot.actuate.cloudfoundry.CloudFoundrySecurityInterceptor;
import org.springframework.boot.actuate.cloudfoundry.CloudFoundrySecurityService;
import org.springframework.boot.actuate.cloudfoundry.TokenValidator;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoints;
import org.springframework.boot.actuate.endpoint.mvc.NamedMvcEndpoint;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
@ -46,7 +50,7 @@ import org.springframework.web.servlet.HandlerInterceptor;
* cloud foundry to use.
*
* @author Madhura Bhave
* @since 1.5.0
* @since 2.0.0
*/
@Configuration
@ConditionalOnProperty(prefix = "management.cloudfoundry", name = "enabled", matchIfMissing = true)

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Auto-configuration for Actuator's CloudFoundry integration.
*/
package org.springframework.boot.actuate.autoconfigure.cloudfoundry;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.util.ArrayList;
import java.util.Collection;
@ -77,6 +77,7 @@ import org.springframework.web.servlet.handler.AbstractHandlerMethodMapping;
* @author Eddú Meléndez
* @author Meang Akira Tanaka
* @author Ben Hale
* @since 2.0.0
*/
@Configuration
@AutoConfigureAfter({ FlywayAutoConfiguration.class, LiquibaseAutoConfiguration.class })

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.util.ArrayList;
import java.util.List;
@ -25,7 +25,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
* Configuration properties for MVC endpoints' CORS support.
*
* @author Andy Wilkinson
* @since 1.3.0
* @since 2.0.0
*/
@ConfigurationProperties(prefix = "endpoints.cors")
public class EndpointCorsProperties {

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import javax.management.MBeanServer;
@ -22,7 +22,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.actuate.audit.AuditEventRepository;
import org.springframework.boot.actuate.autoconfigure.EndpointMBeanExportAutoConfiguration.JmxEnabledCondition;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointMBeanExportAutoConfiguration.JmxEnabledCondition;
import org.springframework.boot.actuate.condition.ConditionalOnEnabledEndpoint;
import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.actuate.endpoint.jmx.AuditEventsJmxEndpoint;
@ -50,6 +50,7 @@ import org.springframework.util.StringUtils;
* @author Christian Dupuis
* @author Andy Wilkinson
* @author Madhura Bhave
* @since 2.0.0
*/
@Configuration
@Conditional(JmxEnabledCondition.class)

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.util.Properties;
@ -23,9 +23,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.util.StringUtils;
/**
* Configuration properties for JMX.
* Configuration properties for JMX endpoints.
*
* @author Christian Dupuis
* @since 2.0.0
*/
@ConfigurationProperties(prefix = "endpoints.jmx")
public class EndpointMBeanExportProperties {

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.lang.reflect.Modifier;
@ -30,6 +30,7 @@ import org.springframework.beans.factory.SmartInitializingSingleton;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.RootBeanDefinition;
import org.springframework.boot.actuate.autoconfigure.web.ManagementServerProperties;
import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.actuate.endpoint.mvc.ManagementServletContext;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
@ -89,12 +90,14 @@ import org.springframework.web.servlet.DispatcherServlet;
* @author Eddú Meléndez
* @author Venil Noronha
* @author Madhura Bhave
* @since 2.0.0
*/
@Configuration
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class })
@ConditionalOnWebApplication(type = Type.SERVLET)
@EnableConfigurationProperties(ManagementServerProperties.class)
@AutoConfigureAfter({ PropertyPlaceholderAutoConfiguration.class,
@AutoConfigureAfter({ EndpointAutoConfiguration.class,
PropertyPlaceholderAutoConfiguration.class,
ServletWebServerFactoryAutoConfiguration.class, WebMvcAutoConfiguration.class,
RepositoryRestMvcAutoConfiguration.class, HypermediaAutoConfiguration.class,
HttpMessageConvertersAutoConfiguration.class })

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.util.ArrayList;
import java.util.Collections;
@ -32,6 +32,7 @@ import org.springframework.beans.factory.BeanFactoryUtils;
import org.springframework.beans.factory.HierarchicalBeanFactory;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.web.ManagementServerProperties;
import org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping;
import org.springframework.boot.actuate.endpoint.mvc.ManagementErrorEndpoint;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;
@ -75,6 +76,7 @@ import org.springframework.web.servlet.config.annotation.EnableWebMvc;
* @author Andy Wilkinson
* @author Eddú Meléndez
* @see EndpointWebMvcAutoConfiguration
* @since 2.0.0
*/
@Configuration
@EnableWebMvc

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.util.Collections;
import java.util.List;
@ -22,6 +22,9 @@ import java.util.Set;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.actuate.audit.AuditEventRepository;
import org.springframework.boot.actuate.autoconfigure.ManagementContextConfiguration;
import org.springframework.boot.actuate.autoconfigure.health.HealthMvcEndpointProperties;
import org.springframework.boot.actuate.autoconfigure.web.ManagementServerProperties;
import org.springframework.boot.actuate.condition.ConditionalOnEnabledEndpoint;
import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.actuate.endpoint.EnvironmentEndpoint;
@ -64,7 +67,7 @@ import org.springframework.web.cors.CorsConfiguration;
* @author Ben Hale
* @author Vedran Pavic
* @author Madhura Bhave
* @since 1.3.0
* @since 2.0.0
*/
@ManagementContextConfiguration
@EnableConfigurationProperties({ HealthMvcEndpointProperties.class,

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.io.IOException;
import java.util.ArrayList;
@ -22,6 +22,7 @@ import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.BeanClassLoaderAware;
import org.springframework.boot.actuate.autoconfigure.ManagementContextConfiguration;
import org.springframework.context.annotation.DeferredImportSelector;
import org.springframework.core.OrderComparator;
import org.springframework.core.Ordered;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoints;
import org.springframework.context.ApplicationContext;
@ -24,13 +24,13 @@ import org.springframework.context.ApplicationContext;
* endpoints.
*
* @author Dave Syer
* @since 1.3.0
* @since 2.0.0
*/
public class ManagementContextResolver {
private ApplicationContext applicationContext;
ManagementContextResolver(ApplicationContext applicationContext) {
public ManagementContextResolver(ApplicationContext applicationContext) {
this.applicationContext = applicationContext;
}

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Auto-configuration for endpoints.
*/
package org.springframework.boot.actuate.autoconfigure.endpoint;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.health;
import java.util.Map;
@ -31,7 +31,7 @@ import org.springframework.core.ResolvableType;
* @param <H> the health indicator type
* @param <S> the bean source type
* @author Stephane Nicoll
* @since 1.4.0
* @since 2.0.0
*/
public abstract class CompositeHealthIndicatorConfiguration<H extends HealthIndicator, S> {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.health;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@ -32,7 +32,7 @@ import org.springframework.context.annotation.Conditional;
* configured.
*
* @author Stephane Nicoll
* @since 1.3.0
* @since 2.0.0
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE, ElementType.METHOD })

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.health;
import java.util.Map;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.health;
import java.util.Collection;
import java.util.LinkedHashMap;
@ -31,6 +31,7 @@ import org.neo4j.ogm.session.SessionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
import org.springframework.boot.actuate.health.ApplicationHealthIndicator;
import org.springframework.boot.actuate.health.CassandraHealthIndicator;
import org.springframework.boot.actuate.health.CouchbaseHealthIndicator;
@ -96,7 +97,7 @@ import org.springframework.mail.javamail.JavaMailSenderImpl;
* @author Tommy Ludwig
* @author Eddú Meléndez
* @author Eric Spiegelberg
* @since 1.1.0
* @since 2.0.0
*/
@Configuration
@AutoConfigureBefore({ EndpointAutoConfiguration.class })

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.health;
import java.util.List;
@ -24,7 +24,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
* Configuration properties for some health properties.
*
* @author Christian Dupuis
* @since 1.2.0
* @since 2.0.0
*/
@ConfigurationProperties(prefix = "management.health.status")
public class HealthIndicatorProperties {

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.health;
import java.util.HashMap;
import java.util.Map;
@ -27,7 +27,7 @@ import org.springframework.http.HttpStatus;
* Configuration properties for the {@link HealthMvcEndpoint}.
*
* @author Christian Dupuis
* @since 1.1.0
* @since 2.0.0
*/
@ConfigurationProperties(prefix = "endpoints.health")
public class HealthMvcEndpointProperties {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,8 +14,9 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.health;
import org.springframework.boot.actuate.autoconfigure.OnEnabledEndpointElementCondition;
import org.springframework.context.annotation.Condition;
/**

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Auto-configuration for application health.
*/
package org.springframework.boot.actuate.autoconfigure.health;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.info;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@ -32,7 +32,7 @@ import org.springframework.context.annotation.Conditional;
* configured.
*
* @author Stephane Nicoll
* @since 1.4.0
* @since 2.0.0
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE, ElementType.METHOD })

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,8 +14,9 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.info;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
import org.springframework.boot.actuate.info.BuildInfoContributor;
import org.springframework.boot.actuate.info.EnvironmentInfoContributor;
import org.springframework.boot.actuate.info.GitInfoContributor;
@ -41,7 +42,7 @@ import org.springframework.core.env.ConfigurableEnvironment;
*
* @author Meang Akira Tanaka
* @author Stephane Nicoll
* @since 1.4.0
* @since 2.0.0
*/
@Configuration
@AutoConfigureAfter(ProjectInfoAutoConfiguration.class)

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.info;
import org.springframework.boot.actuate.info.GitInfoContributor;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ -23,7 +23,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
* Configuration properties for core info contributors.
*
* @author Stephane Nicoll
* @since 1.4.0
* @since 2.0.0
*/
@ConfigurationProperties("management.info")
public class InfoContributorProperties {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,8 +14,9 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.info;
import org.springframework.boot.actuate.autoconfigure.OnEnabledEndpointElementCondition;
import org.springframework.context.annotation.Condition;
/**

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Auto-configuration for application info.
*/
package org.springframework.boot.actuate.autoconfigure.info;

View File

@ -14,13 +14,14 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.jolokia;
import java.util.Properties;
import org.jolokia.http.AgentServlet;
import org.springframework.boot.actuate.autoconfigure.JolokiaAutoConfiguration.JolokiaCondition;
import org.springframework.boot.actuate.autoconfigure.jolokia.JolokiaAutoConfiguration.JolokiaCondition;
import org.springframework.boot.actuate.autoconfigure.security.ManagementWebSecurityAutoConfiguration;
import org.springframework.boot.actuate.endpoint.mvc.JolokiaMvcEndpoint;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
@ -60,6 +61,7 @@ import org.springframework.web.servlet.mvc.ServletWrappingController;
* @author Dave Syer
* @author Andy Wilkinson
* @author Madhura Bhave
* @since 2.0.0
*/
@Configuration
@ConditionalOnWebApplication(type = Type.SERVLET)

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.jolokia;
import java.util.HashMap;
import java.util.Map;
@ -26,6 +26,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Christian Dupuis
* @author Dave Syer
* @since 2.0.0
*/
@ConfigurationProperties(prefix = "jolokia")
public class JolokiaProperties {

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Auto-configuration for Jolokia.
*/
package org.springframework.boot.actuate.autoconfigure.jolokia;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@ -30,6 +30,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
* distinguish it from others that might be installed by the user).
*
* @author Dave Syer
* @since 2.0.0
*/
@Qualifier
@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE,

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@ -30,7 +30,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
* others that might be installed by the user for other purposes).
*
* @author Dave Syer
* @since 1.3.0
* @since 2.0.0
*/
@Qualifier
@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE,

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@ -30,7 +30,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
* the {@link ExportMetricReader} readers.
*
* @author Dave Syer
* @since 1.3.0
* @since 2.0.0
*/
@Qualifier
@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE,

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import java.util.Collections;
import java.util.HashMap;
@ -47,7 +47,7 @@ import org.springframework.util.CollectionUtils;
*
* @author Dave Syer
* @author Simon Buettner
* @since 1.3.0
* @since 2.0.0
*/
@Configuration
@EnableScheduling

View File

@ -14,13 +14,14 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import javax.servlet.Servlet;
import javax.servlet.ServletRegistration;
import org.springframework.boot.actuate.metrics.CounterService;
import org.springframework.boot.actuate.metrics.GaugeService;
import org.springframework.boot.actuate.metrics.web.servlet.MetricsFilter;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
@ -40,6 +41,7 @@ import org.springframework.web.servlet.HandlerMapping;
* @author Phillip Webb
* @author Andy Wilkinson
* @author Sebastian Kirsch
* @since 2.0.0
*/
@Configuration
@ConditionalOnBean({ CounterService.class, GaugeService.class })
@ -65,7 +67,9 @@ public class MetricFilterAutoConfiguration {
@Bean
public MetricsFilter metricsFilter() {
return new MetricsFilter(this.counterService, this.gaugeService, this.properties);
return new MetricsFilter(this.counterService, this.gaugeService,
this.properties.getCounterSubmissions(),
this.properties.getGaugeSubmissions());
}
}

View File

@ -14,12 +14,14 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import java.util.EnumSet;
import java.util.HashSet;
import java.util.Set;
import org.springframework.boot.actuate.metrics.web.servlet.MetricsFilter;
import org.springframework.boot.actuate.metrics.web.servlet.MetricsFilterSubmission;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
@ -27,7 +29,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Sebastian Kirsch
* @author Phillip Webb
* @since 1.4.0
* @since 2.0.0
*/
@ConfigurationProperties(prefix = "endpoints.metrics.filter")
public class MetricFilterProperties {
@ -64,17 +66,4 @@ public class MetricFilterProperties {
this.counterSubmissions = counterSubmissions;
}
boolean shouldSubmitToGauge(MetricsFilterSubmission submission) {
return shouldSubmit(this.gaugeSubmissions, submission);
}
boolean shouldSubmitToCounter(MetricsFilterSubmission submission) {
return shouldSubmit(this.counterSubmissions, submission);
}
private boolean shouldSubmit(Set<MetricsFilterSubmission> submissions,
MetricsFilterSubmission submission) {
return submissions != null && submissions.contains(submission);
}
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import com.codahale.metrics.MetricRegistry;
@ -68,6 +68,7 @@ import org.springframework.messaging.MessageChannel;
* @see InMemoryMetricRepository
* @see Exporter
* @author Dave Syer
* @since 2.0.0
*/
@Configuration
public class MetricRepositoryAutoConfiguration {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.actuate.metrics.writer.MessageChannelMetricWriter;
@ -32,7 +32,7 @@ import org.springframework.messaging.MessageChannel;
* {@link MessageChannel}.
*
* @author Dave Syer
* @since 1.3.0
* @since 2.0.0
*/
@Configuration
@ConditionalOnClass(MessageChannel.class)

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import com.codahale.metrics.MetricRegistry;
@ -36,7 +36,7 @@ import org.springframework.context.annotation.Configuration;
* {@link EnableAutoConfiguration Auto-configuration} for Dropwizard-based metrics.
*
* @author Dave Syer
* @since 1.3.0
* @since 2.0.0
*/
@Configuration
@ConditionalOnClass(MetricRegistry.class)

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import java.util.Collection;
import java.util.List;
@ -26,6 +26,8 @@ import javax.sql.DataSource;
import org.apache.catalina.startup.Tomcat;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.actuate.autoconfigure.cache.CacheStatisticsAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
import org.springframework.boot.actuate.cache.CacheStatisticsProvider;
import org.springframework.boot.actuate.endpoint.CachePublicMetrics;
import org.springframework.boot.actuate.endpoint.DataSourcePublicMetrics;
@ -63,7 +65,7 @@ import org.springframework.integration.support.management.IntegrationManagementC
* @author Phillip Webb
* @author Johannes Edmeier
* @author Artem Bilan
* @since 1.2.0
* @since 2.0.0
*/
@Configuration
@AutoConfigureBefore(EndpointAutoConfiguration.class)

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Auto-configuration for metrics.
*/
package org.springframework.boot.actuate.autoconfigure.metrics;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2017 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.
@ -15,6 +15,6 @@
*/
/**
* Auto-configuration for the actuator.
* Classes for general Actuator auto-configuration concerns.
*/
package org.springframework.boot.actuate.autoconfigure;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.security;
import java.util.ArrayList;
import java.util.Collections;
@ -26,6 +26,8 @@ import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.actuate.autoconfigure.endpoint.ManagementContextResolver;
import org.springframework.boot.actuate.autoconfigure.web.ManagementServerProperties;
import org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;
import org.springframework.boot.actuate.endpoint.mvc.NamedMvcEndpoint;
@ -79,6 +81,7 @@ import org.springframework.util.StringUtils;
*
* @author Dave Syer
* @author Andy Wilkinson
* @since 2.0.0
*/
@Configuration
@ConditionalOnWebApplication(type = Type.SERVLET)

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Auto-configuration for Actuator security.
*/
package org.springframework.boot.actuate.autoconfigure.security;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2015 the original author or authors.
* Copyright 2012-2017 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.
@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.trace;
import org.springframework.boot.actuate.trace.InMemoryTraceRepository;
import org.springframework.boot.actuate.trace.TraceRepository;
@ -27,6 +27,7 @@ import org.springframework.context.annotation.Configuration;
* {@link EnableAutoConfiguration Auto-configuration} for {@link TraceRepository tracing}.
*
* @author Dave Syer
* @since 2.0.0
*/
@Configuration
public class TraceRepositoryAutoConfiguration {

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.trace;
import javax.servlet.Servlet;
import javax.servlet.ServletRegistration;
@ -40,6 +40,7 @@ import org.springframework.web.servlet.DispatcherServlet;
* tracing}.
*
* @author Dave Syer
* @since 2.0.0
*/
@Configuration
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class, ServletRegistration.class })

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Auto-configuration for tracing.
*/
package org.springframework.boot.actuate.autoconfigure.trace;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.web;
import java.net.InetAddress;
import java.util.ArrayList;

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Auto-configuration for Actuator's web concerns.
*/
package org.springframework.boot.actuate.autoconfigure.web;

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Classes for cache statictics.
*/
package org.springframework.boot.actuate.cache;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -32,11 +32,12 @@ import org.springframework.web.servlet.HandlerMapping;
* {@link HandlerMapping} to map {@link Endpoint}s to Cloud Foundry specific URLs.
*
* @author Madhura Bhave
* @since 2.0.0
*/
class CloudFoundryEndpointHandlerMapping
public class CloudFoundryEndpointHandlerMapping
extends AbstractEndpointHandlerMapping<NamedMvcEndpoint> {
CloudFoundryEndpointHandlerMapping(Set<? extends NamedMvcEndpoint> endpoints,
public CloudFoundryEndpointHandlerMapping(Set<? extends NamedMvcEndpoint> endpoints,
CorsConfiguration corsConfiguration, HandlerInterceptor securityInterceptor) {
super(endpoints, corsConfiguration);
setSecurityInterceptor(securityInterceptor);

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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,8 +36,9 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
* {@link HandlerInterceptor} to check the cloud foundry token.
*
* @author Madhura Bhave
* @since 2.0.0
*/
class CloudFoundrySecurityInterceptor extends HandlerInterceptorAdapter {
public class CloudFoundrySecurityInterceptor extends HandlerInterceptorAdapter {
private static final Log logger = LogFactory
.getLog(CloudFoundrySecurityInterceptor.class);
@ -48,7 +49,7 @@ class CloudFoundrySecurityInterceptor extends HandlerInterceptorAdapter {
private final String applicationId;
CloudFoundrySecurityInterceptor(TokenValidator tokenValidator,
public CloudFoundrySecurityInterceptor(TokenValidator tokenValidator,
CloudFoundrySecurityService cloudFoundrySecurityService,
String applicationId) {
this.tokenValidator = tokenValidator;

View File

@ -36,8 +36,9 @@ import org.springframework.web.client.RestTemplate;
* Cloud Foundry security service to handle REST calls to the cloud controller and UAA.
*
* @author Madhura Bhave
* @since 2.0.0
*/
class CloudFoundrySecurityService {
public class CloudFoundrySecurityService {
private final RestTemplate restTemplate;
@ -45,7 +46,7 @@ class CloudFoundrySecurityService {
private String uaaUrl;
CloudFoundrySecurityService(RestTemplateBuilder restTemplateBuilder,
public CloudFoundrySecurityService(RestTemplateBuilder restTemplateBuilder,
String cloudControllerUrl, boolean skipSslValidation) {
Assert.notNull(restTemplateBuilder, "RestTemplateBuilder must not be null");
Assert.notNull(cloudControllerUrl, "CloudControllerUrl must not be null");

View File

@ -33,14 +33,15 @@ import org.springframework.util.Base64Utils;
* Validator used to ensure that a signed {@link Token} has not been tampered with.
*
* @author Madhura Bhave
* @since 2.0.0
*/
class TokenValidator {
public class TokenValidator {
private final CloudFoundrySecurityService securityService;
private Map<String, String> tokenKeys;
TokenValidator(CloudFoundrySecurityService cloudFoundrySecurityService) {
public TokenValidator(CloudFoundrySecurityService cloudFoundrySecurityService) {
this.securityService = cloudFoundrySecurityService;
}

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Classes for CloudFoundry integration.
*/
package org.springframework.boot.actuate.cloudfoundry;

View File

@ -65,7 +65,7 @@ public class EnvironmentEndpoint extends AbstractEndpoint<EnvironmentDescriptor>
@Override
public EnvironmentDescriptor invoke() {
PropertyResolver resolver = getResolver();
List<PropertySourceDescriptor> propertySources = new ArrayList<PropertySourceDescriptor>();
List<PropertySourceDescriptor> propertySources = new ArrayList<>();
getPropertySourcesAsMap().forEach((sourceName, source) -> {
if (source instanceof EnumerablePropertySource) {
propertySources.add(describeSource(sourceName,

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Classes for application info.
*/
package org.springframework.boot.actuate.info;

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2015 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Classes for aggregation metrics.
*/
package org.springframework.boot.actuate.metrics.aggregate;

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2015 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Spring Integration metrics support.
*/
package org.springframework.boot.actuate.metrics.integration;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.metrics.web.servlet;
import java.io.IOException;
import java.util.Collections;
@ -43,9 +43,13 @@ import org.springframework.web.util.UrlPathHelper;
/**
* Filter that counts requests and measures processing times.
*
* @author Dave Syer
* @author Andy Wilkinson
* @since 2.0.0
*/
@Order(Ordered.HIGHEST_PRECEDENCE)
final class MetricsFilter extends OncePerRequestFilter {
public final class MetricsFilter extends OncePerRequestFilter {
private static final String ATTRIBUTE_STOP_WATCH = MetricsFilter.class.getName()
+ ".StopWatch";
@ -60,7 +64,9 @@ final class MetricsFilter extends OncePerRequestFilter {
private final GaugeService gaugeService;
private final MetricFilterProperties properties;
private final Set<MetricsFilterSubmission> counterSubmissions;
private final Set<MetricsFilterSubmission> gaugeSubmissions;
private static final Set<PatternReplacer> STATUS_REPLACERS;
@ -83,11 +89,13 @@ final class MetricsFilter extends OncePerRequestFilter {
KEY_REPLACERS = Collections.unmodifiableSet(replacements);
}
MetricsFilter(CounterService counterService, GaugeService gaugeService,
MetricFilterProperties properties) {
public MetricsFilter(CounterService counterService, GaugeService gaugeService,
Set<MetricsFilterSubmission> counterSubmissions,
Set<MetricsFilterSubmission> gaugeSubmissions) {
this.counterService = counterService;
this.gaugeService = gaugeService;
this.properties = properties;
this.counterSubmissions = counterSubmissions;
this.gaugeSubmissions = gaugeSubmissions;
}
@Override
@ -189,14 +197,27 @@ final class MetricsFilter extends OncePerRequestFilter {
if (submission == MetricsFilterSubmission.PER_HTTP_METHOD) {
prefix = request.getMethod() + ".";
}
if (this.properties.shouldSubmitToGauge(submission)) {
if (shouldSubmitToGauge(submission)) {
submitToGauge(getKey("response." + prefix + suffix), time);
}
if (this.properties.shouldSubmitToCounter(submission)) {
if (shouldSubmitToCounter(submission)) {
incrementCounter(getKey("status." + prefix + status + suffix));
}
}
private boolean shouldSubmitToGauge(MetricsFilterSubmission submission) {
return shouldSubmit(this.gaugeSubmissions, submission);
}
private boolean shouldSubmitToCounter(MetricsFilterSubmission submission) {
return shouldSubmit(this.counterSubmissions, submission);
}
private boolean shouldSubmit(Set<MetricsFilterSubmission> submissions,
MetricsFilterSubmission submission) {
return submissions != null && submissions.contains(submission);
}
private String getKey(String string) {
// graphite compatible metric names
String key = string;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -14,14 +14,13 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.metrics.web.servlet;
/**
* Submission types that can be made by the {@link MetricsFilter}.
*
* @author Phillip Webb
* @since 1.4.0
* @see MetricFilterProperties
* @since 2.0.0
*/
public enum MetricsFilterSubmission {

View File

@ -0,0 +1,20 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Metrics support for Servlet-based web applications.
*/
package org.springframework.boot.actuate.metrics.web.servlet;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.web.server;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;

View File

@ -0,0 +1,21 @@
/*
* Copyright 2012-2017 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Actuator web server support.
*
*/
package org.springframework.boot.actuate.web.server;

View File

@ -1,22 +1,22 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.EndpointMBeanExportAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.HealthIndicatorAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.InfoContributorAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.JolokiaAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.MetricRepositoryAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.MetricsDropwizardAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.MetricsChannelAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.MetricExportAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.PublicMetricsAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.TraceRepositoryAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration,\
org.springframework.boot.actuate.cloudfoundry.CloudFoundryActuatorAutoConfiguration
org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.cache.CacheStatisticsAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.endpoint.EndpointMBeanExportAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.health.HealthIndicatorAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.info.InfoContributorAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.jolokia.JolokiaAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.security.ManagementWebSecurityAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.MetricFilterAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.MetricRepositoryAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.MetricsDropwizardAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.MetricsChannelAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.MetricExportAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.metrics.PublicMetricsAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.trace.TraceRepositoryAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.trace.TraceWebFilterAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.cloudfoundry.CloudFoundryActuatorAutoConfiguration
org.springframework.boot.actuate.autoconfigure.ManagementContextConfiguration=\
org.springframework.boot.actuate.autoconfigure.EndpointWebMvcManagementContextConfiguration
org.springframework.boot.actuate.autoconfigure.endpoint.ManagementContextConfiguration=\
org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcManagementContextConfiguration

View File

@ -1,152 +0,0 @@
/*
* Copyright 2012-2016 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.assertj.core.api.Condition;
import org.junit.Before;
import org.junit.Test;
import org.springframework.boot.actuate.endpoint.AbstractEndpoint;
import org.springframework.boot.actuate.endpoint.mvc.AbstractMvcEndpoint;
import org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoints;
import org.springframework.hateoas.Link;
import org.springframework.hateoas.ResourceSupport;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.context.support.StaticWebApplicationContext;
import static org.assertj.core.api.Assertions.assertThat;
/**
* Tests for {@link LinksEnhancer}.
*
* @author Madhura Bhave
*/
public class LinksEnhancerTests {
@Before
public void setup() {
MockHttpServletRequest request = new MockHttpServletRequest();
RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));
}
@Test
public void useNameAsRelIfAvailable() throws Exception {
TestMvcEndpoint endpoint = new TestMvcEndpoint(new TestEndpoint("a"));
endpoint.setPath("something-else");
LinksEnhancer enhancer = getLinksEnhancer(
Collections.singletonList((MvcEndpoint) endpoint));
ResourceSupport support = new ResourceSupport();
enhancer.addEndpointLinks(support, "");
assertThat(support.getLink("a").getHref()).contains("/something-else");
}
@Test
public void usePathAsRelIfNameNotAvailable() throws Exception {
MvcEndpoint endpoint = new NoNameTestMvcEndpoint("/a");
LinksEnhancer enhancer = getLinksEnhancer(Collections.singletonList(endpoint));
ResourceSupport support = new ResourceSupport();
enhancer.addEndpointLinks(support, "");
assertThat(support.getLink("a").getHref()).contains("/a");
}
@Test
public void hrefNotAddedToRelTwice() throws Exception {
MvcEndpoint endpoint = new TestMvcEndpoint(new TestEndpoint("a"));
MvcEndpoint otherEndpoint = new TestMvcEndpoint(new TestEndpoint("a"));
LinksEnhancer enhancer = getLinksEnhancer(Arrays.asList(endpoint, otherEndpoint));
ResourceSupport support = new ResourceSupport();
enhancer.addEndpointLinks(support, "");
assertThat(support.getLinks()).haveExactly(1, getCondition("a", "a"));
}
@Test
public void multipleHrefsForSameRelWhenPathIsDifferent() throws Exception {
TestMvcEndpoint endpoint = new TestMvcEndpoint(new TestEndpoint("a"));
endpoint.setPath("endpoint");
TestMvcEndpoint otherEndpoint = new TestMvcEndpoint(new TestEndpoint("a"));
otherEndpoint.setPath("other-endpoint");
LinksEnhancer enhancer = getLinksEnhancer(
Arrays.asList((MvcEndpoint) endpoint, otherEndpoint));
ResourceSupport support = new ResourceSupport();
enhancer.addEndpointLinks(support, "");
assertThat(support.getLinks()).haveExactly(1, getCondition("a", "endpoint"));
assertThat(support.getLinks()).haveExactly(1,
getCondition("a", "other-endpoint"));
}
private LinksEnhancer getLinksEnhancer(List<MvcEndpoint> endpoints) throws Exception {
StaticWebApplicationContext context = new StaticWebApplicationContext();
for (MvcEndpoint endpoint : endpoints) {
context.getDefaultListableBeanFactory().registerSingleton(endpoint.toString(),
endpoint);
}
MvcEndpoints mvcEndpoints = new MvcEndpoints();
mvcEndpoints.setApplicationContext(context);
mvcEndpoints.afterPropertiesSet();
return new LinksEnhancer("", mvcEndpoints);
}
private Condition<Link> getCondition(final String rel, final String href) {
return new Condition<Link>() {
@Override
public boolean matches(Link link) {
return link.getRel().equals(rel)
&& link.getHref().equals("http://localhost/" + href);
}
};
}
private static class TestEndpoint extends AbstractEndpoint<Object> {
TestEndpoint(String id) {
super(id);
}
@Override
public Object invoke() {
return null;
}
}
private static class TestMvcEndpoint extends EndpointMvcAdapter {
TestMvcEndpoint(TestEndpoint delegate) {
super(delegate);
}
}
private static class NoNameTestMvcEndpoint extends AbstractMvcEndpoint {
NoNameTestMvcEndpoint(String path) {
super(path);
}
}
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2016 the original author or authors.
* Copyright 2012-2017 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.
@ -19,6 +19,8 @@ package org.springframework.boot.actuate.autoconfigure;
import org.junit.After;
import org.junit.Test;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointMBeanExportAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.jolokia.JolokiaAutoConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration;
import org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.audit;
import org.junit.Test;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.cache;
import java.io.IOException;
import java.io.InputStream;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.io.IOException;
import java.util.Collections;
@ -29,6 +29,9 @@ import org.flywaydb.core.Flyway;
import org.junit.After;
import org.junit.Test;
import org.springframework.boot.actuate.autoconfigure.health.HealthIndicatorAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.info.InfoContributorAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.metrics.PublicMetricsAutoConfiguration;
import org.springframework.boot.actuate.endpoint.AutoConfigurationReportEndpoint;
import org.springframework.boot.actuate.endpoint.BeansEndpoint;
import org.springframework.boot.actuate.endpoint.DumpEndpoint;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import javax.management.InstanceNotFoundException;
import javax.management.IntrospectionException;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@ -35,6 +35,7 @@ import org.junit.runner.RunWith;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration;
import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMappingCustomizer;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.io.FileNotFoundException;
import java.net.SocketException;
@ -41,6 +41,8 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.web.ManagementServerProperties;
import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping;
import org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMappingCustomizer;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.util.List;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.util.Arrays;
import java.util.List;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.endpoint;
import java.util.Collections;
@ -27,6 +27,8 @@ import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.jolokia.JolokiaAutoConfiguration;
import org.springframework.boot.actuate.endpoint.AutoConfigurationReportEndpoint;
import org.springframework.boot.actuate.endpoint.BeansEndpoint;
import org.springframework.boot.actuate.endpoint.ConfigurationPropertiesReportEndpoint;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.health;
import java.util.Map;
@ -25,6 +25,7 @@ import org.assertj.core.api.Condition;
import org.junit.Test;
import org.neo4j.ogm.session.SessionFactory;
import org.springframework.boot.actuate.autoconfigure.web.ManagementServerProperties;
import org.springframework.boot.actuate.health.ApplicationHealthIndicator;
import org.springframework.boot.actuate.health.CassandraHealthIndicator;
import org.springframework.boot.actuate.health.CompositeHealthIndicator;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.health;
import java.security.Principal;
import java.util.Arrays;
@ -24,6 +24,9 @@ import javax.servlet.http.HttpServletRequest;
import org.junit.After;
import org.junit.Test;
import org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.endpoint.HealthEndpoint;
import org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint;
import org.springframework.boot.actuate.health.AbstractHealthIndicator;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.info;
import java.util.Map;
import java.util.Properties;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.jolokia;
import java.util.Collection;
import java.util.Collections;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import java.util.Map;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
@ -29,6 +29,8 @@ import org.junit.Test;
import org.springframework.boot.actuate.metrics.CounterService;
import org.springframework.boot.actuate.metrics.GaugeService;
import org.springframework.boot.actuate.metrics.web.servlet.MetricsFilter;
import org.springframework.boot.actuate.metrics.web.servlet.MetricsFilterSubmission;
import org.springframework.boot.test.util.TestPropertyValues;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricRegistry;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import com.codahale.metrics.Reservoir;
import com.codahale.metrics.UniformReservoir;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.metrics;
import java.sql.SQLException;
import java.util.Collection;
@ -29,6 +29,7 @@ import org.apache.commons.dbcp2.BasicDataSource;
import org.junit.After;
import org.junit.Test;
import org.springframework.boot.actuate.autoconfigure.cache.CacheStatisticsAutoConfiguration;
import org.springframework.boot.actuate.endpoint.CachePublicMetrics;
import org.springframework.boot.actuate.endpoint.DataSourcePublicMetrics;
import org.springframework.boot.actuate.endpoint.MetricReaderPublicMetrics;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.trace;
import org.junit.Test;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.trace;
import java.util.Map;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.web;
import org.junit.After;
import org.junit.Test;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.web;
import org.junit.After;
import org.junit.Test;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.boot.actuate.autoconfigure;
package org.springframework.boot.actuate.autoconfigure.web;
import java.util.ArrayList;
@ -25,6 +25,10 @@ import org.junit.After;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.security.ManagementWebSecurityAutoConfiguration;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration;

View File

@ -23,10 +23,11 @@ import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
import org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.EndpointWebMvcManagementContextConfiguration;
import org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.cloudfoundry.CloudFoundryActuatorAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcManagementContextConfiguration;
import org.springframework.boot.actuate.autoconfigure.security.ManagementWebSecurityAutoConfiguration;
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;

View File

@ -28,7 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.audit.AuditEvent;
import org.springframework.boot.actuate.audit.AuditEventRepository;
import org.springframework.boot.actuate.audit.InMemoryAuditEventRepository;
import org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;

View File

@ -25,8 +25,8 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.endpoint.EnvironmentEndpoint;
import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
@ -164,7 +164,7 @@ public class EnvironmentMvcEndpointTests {
@Test
public void nestedPathMatchedByRegexWhenPlaceholderCannotBeResolvedShouldReturnUnresolvedProperty()
throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
Map<String, Object> map = new HashMap<>();
map.put("my.foo", "${my.bar}");
((ConfigurableEnvironment) this.context.getEnvironment()).getPropertySources()
.addFirst(new MapPropertySource("unresolved-placeholder", map));
@ -175,7 +175,7 @@ public class EnvironmentMvcEndpointTests {
@Test
public void nestedPathMatchedByRegexWithSensitivePlaceholderShouldSanitize()
throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
Map<String, Object> map = new HashMap<>();
map.put("my.foo", "${my.password}");
map.put("my.password", "hello");
((ConfigurableEnvironment) this.context.getEnvironment()).getPropertySources()

View File

@ -25,7 +25,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;

View File

@ -27,8 +27,8 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;

View File

@ -25,8 +25,8 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.AuditAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointWebMvcAutoConfiguration;
import org.springframework.boot.actuate.endpoint.InfoEndpoint;
import org.springframework.boot.actuate.info.InfoContributor;
import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration;

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