Fix integration sample (no web dependencies)

This commit is contained in:
Dave Syer 2013-05-10 16:21:30 +01:00
parent eb2adc0b99
commit 56865ab260
3 changed files with 74 additions and 32 deletions

View File

@ -16,8 +16,6 @@
package org.springframework.bootstrap.actuate.autoconfigure;
import java.util.List;
import org.springframework.bootstrap.actuate.properties.EndpointsProperties;
import org.springframework.bootstrap.actuate.properties.ManagementServerProperties;
import org.springframework.bootstrap.actuate.properties.ServerProperties;
@ -27,11 +25,6 @@ import org.springframework.bootstrap.context.annotation.EnableConfigurationPrope
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import com.fasterxml.jackson.databind.SerializationFeature;
/**
* {@link EnableAutoConfiguration Auto-configuration} for service apps.
@ -39,23 +32,11 @@ import com.fasterxml.jackson.databind.SerializationFeature;
* @author Dave Syer
*/
@Configuration
@Import({ ManagementConfiguration.class, MetricConfiguration.class,
ServerConfiguration.class, SecurityConfiguration.class,
TraceFilterConfiguration.class, MetricFilterConfiguration.class,
AuditConfiguration.class })
public class ActuatorAutoConfiguration extends WebMvcConfigurationSupport {
@Override
protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
addDefaultHttpMessageConverters(converters);
for (HttpMessageConverter<?> converter : converters) {
if (converter instanceof MappingJackson2HttpMessageConverter) {
MappingJackson2HttpMessageConverter jacksonConverter = (MappingJackson2HttpMessageConverter) converter;
jacksonConverter.getObjectMapper().disable(
SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
}
}
}
@Import({ ActuatorWebConfiguration.class, ManagementConfiguration.class,
MetricConfiguration.class, ServerConfiguration.class,
SecurityConfiguration.class, TraceFilterConfiguration.class,
MetricFilterConfiguration.class, AuditConfiguration.class })
public class ActuatorAutoConfiguration {
/*
* ServerProperties has to be declared in a non-conditional bean, so that it gets
@ -70,6 +51,7 @@ public class ActuatorAutoConfiguration extends WebMvcConfigurationSupport {
public EndpointsProperties endpointsProperties() {
return new EndpointsProperties();
}
}
}

View File

@ -0,0 +1,51 @@
/*
* Copyright 2012-2013 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.bootstrap.actuate.autoconfigure;
import java.util.List;
import javax.servlet.Servlet;
import org.springframework.bootstrap.context.annotation.ConditionalOnClass;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import com.fasterxml.jackson.databind.SerializationFeature;
/**
* @author Dave Syer
*
*/
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class })
@Configuration
public class ActuatorWebConfiguration extends WebMvcConfigurationSupport {
@Override
protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
addDefaultHttpMessageConverters(converters);
for (HttpMessageConverter<?> converter : converters) {
if (converter instanceof MappingJackson2HttpMessageConverter) {
MappingJackson2HttpMessageConverter jacksonConverter = (MappingJackson2HttpMessageConverter) converter;
jacksonConverter.getObjectMapper().disable(
SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
}
}
}
}

View File

@ -42,9 +42,6 @@ public class TraceFilterConfiguration {
@Autowired(required = false)
private TraceRepository traceRepository = new InMemoryTraceRepository();
@Value("${management.dump_requests:false}")
private boolean dumpRequests;
@ConditionalOnMissingBean(TraceRepository.class)
@Configuration
protected static class TraceRepositoryConfiguration {
@ -54,12 +51,24 @@ public class TraceFilterConfiguration {
}
}
@Bean
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class })
public WebRequestLoggingFilter securityFilterPostProcessor(BeanFactory beanFactory) {
WebRequestLoggingFilter filter = new WebRequestLoggingFilter(this.traceRepository);
filter.setDumpRequests(this.dumpRequests);
return filter;
protected static class WebRequestLoggingFilterConfiguration {
@Autowired
private TraceRepository traceRepository;
@Value("${management.dump_requests:false}")
private boolean dumpRequests;
@Bean
public WebRequestLoggingFilter webRequestLoggingFilter(BeanFactory beanFactory) {
WebRequestLoggingFilter filter = new WebRequestLoggingFilter(
this.traceRepository);
filter.setDumpRequests(this.dumpRequests);
return filter;
}
}
}