Commit Graph

865 Commits

Author SHA1 Message Date
Phillip Webb
6333426cbf Reformat package-info.java files with Eclipse Mars 2015-10-09 13:54:25 -07:00
Phillip Webb
04074fece1 Merge branch '1.2.x' 2015-10-09 13:39:09 -07:00
Phillip Webb
94736719f1 Reformat package-info.java files with Eclipse Mars 2015-10-09 13:32:57 -07:00
Stephane Nicoll
b9c885f5d2 Polish
Closes gh-4118
2015-10-09 17:16:46 +02:00
Marten Deinum
bad8c1bee8 Added support for the DB2 AS400 Driver
Closes gh-4115
2015-10-09 17:16:21 +02:00
Phillip Webb
c9fb9916b8 Reformat code using Eclipse Mars 2015-10-07 23:37:10 -07:00
Phillip Webb
e473364e4e Merge branch '1.2.x' 2015-10-07 23:34:08 -07:00
Phillip Webb
6ab376e2e8 Reformat code use Eclipse Mars 2015-10-07 23:32:31 -07:00
Andy Wilkinson
08aa6f788d Merge branch '1.2.x' 2015-10-07 11:34:29 +01:00
Andy Wilkinson
9a703ab4d1 Correct quotation marks in spring-boot-actuator’s README
Closes gh-4095
2015-10-07 11:33:43 +01:00
Andy Wilkinson
d793d5abcb Work around intermittent failure caused by SPR-13079
See gh-4098
2015-10-06 11:43:53 +01:00
Andy Wilkinson
6387f36efa Work around MockMvc bug (SPR-13079) that has only been fixed in 4.2
See gh-4098
2015-10-06 11:25:18 +01:00
Andy Wilkinson
b7719a131b Merge branch '1.2.x' 2015-10-06 11:01:07 +01:00
Andy Wilkinson
b8b4ea489e Improve MetricsFilter’s handling of async requests
Previously, MetricsFilter would treat async requests the same as
sync requests and would record their response status as soon as the
request had been processed by the filter chain. This would result in a
200 response being recorded and the actual response status produced by
the async processing being ignored. Furthermore, the time that was
recorded for the request would not include the time take for any async processing.

This commit updates MetricsFilter to check whether or not an async
request has been started before it records the metrics for the request.
In the event of an async request having been started no metrics are
recorded. Instead, the StopWatch is stored in a request attribute that
is then retrieved during the filtering of the request’s async
dispatch(es). Once the async processing has completed (isAsyncStarted()
returns false), the StopWatch is stopped, removed from the request’s
attributes and the metrics for the request are recorded.

Closes gh-4098
2015-10-06 11:00:59 +01:00
Stephane Nicoll
7d182028af Remove unecessary modifier 2015-10-03 09:11:32 +02:00
izeye
a13b23e7f8 Polish
Closes gh-4087
2015-10-03 08:53:19 +02:00
Phillip Webb
5e58645202 Log warning for template folder not found problems
Update template auto-configurations to log a warning message rather
than throw an exception if the template folder cannot be found.

Fixes gh-4075
2015-10-02 15:37:39 -07:00
Phillip Webb
6a31c1dda1 Include debug message on management context fail
Update EndpointWebMvcAutoConfiguration to log exception details at DEBUG
in addition to the WARNING message when the child context fails to
start.

See gh-4064
2015-10-02 11:44:41 -07:00
Phillip Webb
e272b3a957 Introduce AbstractEndpointMvcAdapter
Pull up functionality from EndpointMvcAdapter to a new
AbstractEndpointMvcAdapter which doesn't define any @RequestMappings and
update HealthMvcEndpoint to make use of it.
2015-10-02 11:26:03 -07:00
Phillip Webb
c3b7764b72 Polish 2015-10-02 11:25:56 -07:00
Stephane Nicoll
b2c3e7e2ed Rename error.* properties to server.error.*
Closes gh-4050
2015-10-02 14:03:24 +02:00
Dave Syer
4b1389179d Attempt to fix test failures caused by ordering issues 2015-10-02 10:52:03 +01:00
Dave Syer
e1070cce07 Check authorities of user in HealthMvcEndpoint
We need to be a bit cautious about whether Spring Security is on
the classpath or not, but if it is we can test for the admin role
(as specified in `management.security.role`).

Fixes gh-4060
2015-10-02 10:42:43 +01:00
Dave Syer
972557851a All MVC endpoint paths to be separately customized from the id
This change applies only to "standard" MVC endpoints (not the extended
ones like /env and /jolokia which already have this feature). Allows
users to supply an endpoints.{name}.path.

Fixes gh-2790
2015-10-02 10:42:43 +01:00
Phillip Webb
5cbb81c64f Fix management security when using different port
Update ManagementWebSecurityAutoConfiguration to reinstate lazy creation
of EndpointHandlerMapping from the EndpointPathRequestMatcher.

Fixes a regression introduced in eb2984781 and picked up my one of the
sample integration tests.

Fixes gh-4059
2015-10-01 18:06:43 -07:00
Andy Wilkinson
2964fd28a0 Polishing 2015-10-01 14:06:00 +01:00
Dave Syer
933aad3c06 Make checkstyle happier 2015-10-01 13:53:04 +01:00
Dave Syer
c8021fa526 Comment out logback config 2015-10-01 13:45:59 +01:00
Dave Syer
eb29847814 Hone the security rules for actuator endpoints
Takes into account the fact that the new /actuator endpoint sometimes
loses its path (it is "" relative to a non-empty management context path).

Fixes gh-4059
2015-10-01 13:38:18 +01:00
Stephane Nicoll
623fcfeff1 Properly guard cache statistics providers
Previously, a `NoClassDefFoundError` could be thrown if EhCache or Guava
is on the classpath without `spring-context-support` as the respective
cache statistics provider both needs the implementation and the spring
abstraction implementation.

The `@ConditionalOnClass` definition has been updated to properly guard
those beans.

Closes gh-3960
2015-09-30 14:36:39 +02:00
Andy Wilkinson
0d1729cb65 Fix Checkstyle warning 2015-09-30 11:15:49 +01:00
Andy Wilkinson
64bcba47a9 Polish contribution
- Add @author tag
 - Remove unnecessary final modifiers
 - Avoid writing to volatile field when new gauge is used

Closes gh-3977
2015-09-30 10:39:05 +01:00
Jay Anderson
3fb0ae3e3b Register dropwizard gauges once and then update them
The previous implementation would remove and add a new Gauge each time
a metric was written. After this change the Gauge is registered once
and the value is updated on subsequent calls.
2015-09-30 10:30:55 +01:00
Andy Wilkinson
ff5e4631e3 Add MockMvc-based integration tests for management.security.enabled
See gh-3997
2015-09-30 10:19:04 +01:00
Phillip Webb
69d57f9a35 Polish 2015-09-29 15:18:40 -07:00
Phillip Webb
fa040c9e26 Fix tests failing on Windows 2015-09-29 09:23:07 -07:00
Phillip Webb
3b93a82dd6 Support relaxed HealthMvcEndpoint status mappings
Update HealthMvcEndpoint so that relaxed names can be used as keys in
the `endpoints.health.mapping` property.

Fixes gh-2465
2015-09-28 16:11:48 -07:00
Phillip Webb
a168670a8d Use static Patterns in MetricsFilter
Update MetricsFilter to use static `Pattern` instances for regex
replacements rather than compiling them each time.

Fixes gh-3996
2015-09-26 00:10:20 -07:00
Phillip Webb
57a698f388 Fix broken Cassandra tests
See gh-2064
2015-09-25 23:59:00 -07:00
Julien Dubois
c401330901 Add Cassandra support
Add auto-configuration support and health checks for Cassandra and
Spring Data Cassandra.

Fixes gh-2064
Closes gh-2214
2015-09-25 23:00:53 -07:00
Andy Wilkinson
c55900b433 Simplify Jackson-related auto-configuration for HATEOAS and Data REST
This commit simplifies the Jackson-related auto-configuration that’s
applied when Spring HATEOAS and Spring Data REST are on the classpath.

Previously, Boot used Jackson2HalModule to apply the HAL-related
ObjectMapper configuration to the context’s primary ObjectMapper. This
was to allow HAL-formatted responses to be sent for requests accepted
application/json (see gh-2147). This had the unwanted side-effect of
polluting the primary ObjectMapper with HAL-specific functionality.
Furthermore, Jackson2HalModule is an internal of Spring HATEOAS that
@olivergierke has asked us to avoid using.

This commit replaces the use of Jackson2HalModule with a new approach.
Now, the message converters of any RequestMappingHandlerAdapter beans
are examined and any TypeConstrainedMappingJackson2HttpMessageConverter
instances are modified to support application/json in addition to their
default support for application/hal+json. This behaviour can be disabled
by setting spring.hateoas.use-hal-as-default-json-media-type to false.
This property is named after Spring Data REST’s configuration option
which has the same effect when using Spring Data REST. The new property
replaces the old spring.hateoas.apply-to-primary-object-mapper property.

Previously, when Spring Data REST was on the classpath,
JacksonAutoConfiguration would be switched off resulting in the context
containing multiple ObjectMappers, none of which was primary.

This commit configures RepositoryRestMvcAutoConfiguration to run after
JacksonAutoConfiguration. This gives the latter a chance to create its
primary ObjectMapper before the former adds its ObjectMapper beans to
the context.

Previously, the actuator’s hypermedia support assumed that the
HttpMessageConverters bean would contain every HttpMessageConverter
being used by Spring MVC. When Spring HATEOAS is on the classpath this
isn’t the case as it post-processes RequestMappingHandlerAdapter beans
and adds a TypeConstrainedMappingJackson2HttpMessageConverter to them.
This wasn’t a problem in the past as the primary ObjectMapper, used by a
vanilla MappingJackson2HttpMessageConverter, was configured with Spring
HATEOAS’sJackson2HalModule. Now that this pollution has been tidied up
the assumption described above no longer holds true. MvcEndpointAdvice,
which adds links to the actuator’s json responses, has been updated
to look at the HttpMessageConverters of every
RequestMappingHandlerAdapter when it’s trying to find a converter to
use to write a response with additional hypermedia links.

Integration tests have been added to spring-boot-actuator to ensure
that the changes described above have not regressed the ability to
configure its json output using spring.jackson.* properties (see
gh-1729).

Closes gh-3891
2015-09-24 20:44:10 +01:00
Phillip Webb
676efe7ad6 Fixup following package auto-configuration moves
A string based exclude was missed in commit c629813165.

See gh-4002
2015-09-24 00:28:38 -07:00
Simon Buettner
70031cca66 Add statsd metric export auto-configuration
Update MetricExportAutoConfiguration to auto-configure statsd metrics
export when a `spring.metrics.export.statsd.host` property is set.

Closes gh-3719
2015-09-24 00:19:56 -07:00
Thomas Badie
2fd1cacbf3 Fix synchronization issue in OpenTSDBMetricWriter
Closes gh-4010
2015-09-23 21:27:14 -07:00
Phillip Webb
c629813165 Rationalize Spring Data auto-configurations
Relocate several auto-configuration classes to `...autoconfigure.data`
to make it clearer that they are Spring Data specific.

Also moved `EntityManagerFactoryBuilder` to `spring-boot` since it is
generally useful and doesn't need to be directly tied to the
auto-configuration module.

Fixes gh-4002
2015-09-22 11:52:23 -07:00
Andy Wilkinson
d10dd13714 Fix deprecation warning in ConfigurationPropertiesReportEndpoint 2015-09-22 12:43:15 +01:00
Spring Buildmaster
9409c49c10 Next development version 2015-09-16 09:00:17 -07:00
Phillip Webb
e674d751de Polish Javadoc 2015-09-08 17:01:36 -07:00
Phillip Webb
e07df7e4c6 Remove redundant modifiers 2015-09-08 17:01:30 -07:00
Phillip Webb
460ca75fce Polish newline at end of file 2015-09-08 16:05:22 -07:00