Fix integration sample (no web dependencies)

pull/1/merge
Dave Syer 12 years ago
parent eb2adc0b99
commit 56865ab260

@ -16,8 +16,6 @@
package org.springframework.bootstrap.actuate.autoconfigure; package org.springframework.bootstrap.actuate.autoconfigure;
import java.util.List;
import org.springframework.bootstrap.actuate.properties.EndpointsProperties; import org.springframework.bootstrap.actuate.properties.EndpointsProperties;
import org.springframework.bootstrap.actuate.properties.ManagementServerProperties; import org.springframework.bootstrap.actuate.properties.ManagementServerProperties;
import org.springframework.bootstrap.actuate.properties.ServerProperties; 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.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import; 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. * {@link EnableAutoConfiguration Auto-configuration} for service apps.
@ -39,23 +32,11 @@ import com.fasterxml.jackson.databind.SerializationFeature;
* @author Dave Syer * @author Dave Syer
*/ */
@Configuration @Configuration
@Import({ ManagementConfiguration.class, MetricConfiguration.class, @Import({ ActuatorWebConfiguration.class, ManagementConfiguration.class,
ServerConfiguration.class, SecurityConfiguration.class, MetricConfiguration.class, ServerConfiguration.class,
TraceFilterConfiguration.class, MetricFilterConfiguration.class, SecurityConfiguration.class, TraceFilterConfiguration.class,
AuditConfiguration.class }) MetricFilterConfiguration.class, AuditConfiguration.class })
public class ActuatorAutoConfiguration extends WebMvcConfigurationSupport { public class ActuatorAutoConfiguration {
@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);
}
}
}
/* /*
* ServerProperties has to be declared in a non-conditional bean, so that it gets * 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() { public EndpointsProperties endpointsProperties() {
return new EndpointsProperties(); return new EndpointsProperties();
} }
} }
} }

@ -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);
}
}
}
}

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

Loading…
Cancel
Save