Commit Graph

585 Commits

Author SHA1 Message Date
Phillip Webb 10da3d390e Polish 2015-03-27 11:30:58 -07:00
Stephane Nicoll f5023fd415 Use testConnection() method
Update MailHealthIndicator to use the new testConnection() method
available as of Spring Framework 4.2

Closes gh-2666
2015-03-27 16:56:39 +01:00
Phillip Webb 7d3465f858 Merge branch '1.2.x' 2015-03-24 18:05:43 -07:00
Phillip Webb 4c50c9eaa8 Allow basic SystemPublicMetrics on GAE
Update SystemPublicMetrics to silently ignore ManagementFactory
NoClassDefFoundErrors which can occur when deploying to Google App
Engine.

Fixes gh-2701
2015-03-24 13:56:12 -07:00
Stephane Nicoll 9820fa9c88 Remove dead code
Fixes gh-2686
2015-03-21 16:50:58 +01:00
Andy Wilkinson ebf68978e8 Merge branch '1.2.x' 2015-03-19 17:17:05 +00:00
Andy Wilkinson c1eea4cf40 Ensure that a TTL of zero is honoured by HealthMvcEndpoint
See gh-2630
2015-03-19 17:16:08 +00:00
Andy Wilkinson 3b979eb828 Merge branch '1.2.x' 2015-03-19 16:23:29 +00:00
Andy Wilkinson c849a0aba1 Cache /health response irrespective of sensitivity and security
Previously, the response from /health was not cached if the request
was secure, i.e. the user has authenticated, or the endpoint was
configured as not being sensitive. 

The commit updates HealthMvcEndpoint to apply the caching logic
all the time. Users that do not want caching can disable it by 
configuring the TTL with a value of zero.

Closes gh-2630
2015-03-19 16:23:04 +00:00
Andy Wilkinson 8d89f8fcea Merge branch '1.2.x' 2015-03-18 11:18:53 +00:00
Andy Wilkinson 8b20403c41 Use a String when referencing a class with @ConditionalOnMissingClass
Using a Class reference can cause reflection problems at runtime (see
gh-1065).

Closes gh-2674
2015-03-18 11:16:58 +00:00
Phillip Webb 182754a582 Polish HealthIndicatorAutoConfiguration
Update HealthIndicatorAutoConfiguration to reduce the amount of
duplication in inner configuration classes.
2015-03-16 17:38:24 -07:00
Phillip Webb 4af70f1840 Polish 2015-03-16 16:26:53 -07:00
Phillip Webb c349b402e8 Merge branch '1.2.x' 2015-03-16 14:32:31 -07:00
Phillip Webb 16495d223a Polish 2015-03-16 14:11:43 -07:00
Stephane Nicoll bfee98e1f3 Add JMS health indicator
Define an additional health indicator for each ConnectionFactory instance
defined in the context. Extracts the provider name from the connection
meta-data.

Fixes gh-2016
2015-03-10 13:38:19 +01:00
Stephane Nicoll 9094706f6a polish 2015-03-10 13:37:37 +01:00
Johannes Stelzer cd8c3d7327 Add mail health check
Define an additional health indicator for each JavaMailSenderImpl
instance in the context.

Closes gh-2017 and gh-2617
2015-03-10 10:17:33 +01:00
Andy Wilkinson 6811a41817 Merge branch '1.2.x' 2015-03-05 11:08:12 +00:00
Andy Wilkinson 743482ab69 Tolerate Gauges with non-Number values
Spring Boot's metrics infrastructure requires a Metric to have a
Number value. Coda Hale's ThreadStatesGaugeSet includes a Gauge
named deadlocks with a Set<String> value (each entry in the set is a
description, including stacktrace, of a deadlocked thread). There's
no obvious way to coerce this to a Number, and there's already a
deadlocks.count metric in the set.

This commit updates MetricRegistryMetricReader to ignore the addition
of any Gauge with a non-Number value.

Fixes gh-2593
2015-03-05 11:07:58 +00:00
Andy Wilkinson af5de18bf3 Merge branch '1.2.x' 2015-03-04 15:24:35 +00:00
Andy Wilkinson 4487823ff9 Improve thread-safety of MetricRegistryMetricReader
ee567fa boldy claimed that it had made MetricRegistryMetricReader
thread-safe. It had not. This commit should actually make it thread
safe. I hope.

One notable improvement is that MetricRegistryMetricReader.findAll()
will no longer contain null values if a metric is removed on another
thread during iteration.

names is now a ConcurrentHashMap to allow it to be safely read and
written without holding a lock.

reverse is a LinkedMultiValueMap  which is not thread-safe. This could
lead to values being lost when concurrent add calls were made. Access
to reverse is now protected by synchronizing on an internal monitor
object.

Calls to containsKey(key) followed by get(key) have been reworked to
only call get(key), this avoids the possibility of the key being
removed after the contains check but before the get.

Closes gh-2590
2015-03-04 15:03:03 +00:00
Andy Wilkinson 3ce45c0bab Merge branch '1.2.x' 2015-03-03 16:54:47 +00:00
Andy Wilkinson ee567fa8dd Make MetricRegistryMetricReader thread-safe
MetricRegistryMetricReader’s fields where neither final, nor volatile
but could be accessed on multiple threads. This lead to visibility
problems where the value of a field would unexpectedly be null, causing
an NPE.

This commit updates all of the fields to declare them as final, thereby
ensuring that their values are guaranteed to be visible across different
threads.

Fixes gh-2590
2015-03-03 16:54:30 +00:00
Phillip Webb a57a88f5cf Move master to 1.3.0.BUILD-SNAPSHOT 2015-02-26 17:01:02 -08:00
Spring Buildmaster 8f0ad02237 Next development version 2015-02-26 15:26:53 -08:00
Phillip Webb 4cac9d7382 Ensure actuator works without Spring MVC
Update MetricFilterAutoConfiguration to ensure that it is only applied
if Spring MVC is on the classpath.

Fixes gh-2542
2015-02-24 13:08:42 -08:00
Phillip Webb 56e31a8c6b Polish 2015-02-23 19:21:37 -08:00
Phillip Webb 10257d96f2 Merge branch '1.1.x' 2015-02-23 18:02:23 -08:00
Phillip Webb 8a8b5d3aa7 Polish 2015-02-23 13:34:55 -08:00
Johannes Stelzer 05e388012d Fix for empty datasource-name in metrics
If there is more than one DataSource and the non-primary bean-name is
'datasource' an incorrect metric name is chosen.

The metrics are named datasource.active and not datasource.xxx.active. To
avoid this, the shortening of the bean-name only occurs if the bean-name
is longer than 'datasource'.

See gh-2320
2015-02-13 09:31:31 +01:00
Andy Wilkinson a8726c4ae1 Merge branch '1.1.x' 2015-02-12 17:53:07 +00:00
Andy Wilkinson d7ae0f3b06 Ensure that management endpoints with nested paths are secured
Previously each endpoint was secured for path, path/, and path.*.
This meant that a request to path/foo was not secured. This commit
secures path/** to ensure that requests to a nested endpoint path are
also secured.

Fixes gh-2476
2015-02-12 17:50:38 +00:00
Phillip Webb 8e398dc6a7 Polish Javadoc
Update Javadoc to add missing @return and @param elements.
2015-02-03 11:35:06 -08:00
Phillip Webb c02b99b257 Rename CodahaleMetricWriter
Deprecate CodahaleMetricWriter and create DropwizardMetricWriter to
reflect the renamed project.

Fixes gh-2442
2015-02-02 22:19:06 -08:00
Phillip Webb 0696695e16 Add package javadoc 2015-02-02 17:05:38 -08:00
Phillip Webb ccdbfd274f Fix Java 8 Javadoc compatibility
Update Javadocs to fix errors caused by Java 8 aggressive linting.

Fixes gh-2233
2015-02-02 17:05:37 -08:00
Phillip Webb 3328c1369f Merge branch '1.1.x'
Conflicts:
	spring-boot/src/main/java/org/springframework/boot/logging/LoggingApplicationListener.java
2015-02-01 20:28:11 -08:00
Phillip Webb 555827cad7 Polish 2015-02-01 20:00:11 -08:00
Stephane Nicoll 763a735bd5 Merge branch '1.1.x'
Conflicts:
	spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointMBeanExportProperties.java
	spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/integration/IntegrationAutoConfiguration.java
2015-01-29 16:45:00 +01:00
Stephane Nicoll d64cc082db Harmonize property name
The property default format is lower case using hyphen. The JMX default
domain property has been harmonized to that format.

Fixes gh-2427
2015-01-29 16:42:24 +01:00
Stephane Nicoll f5f0952837 Merge branch '1.1.x' 2015-01-26 03:28:17 +01:00
Stephane Nicoll e70c18d05b Fix name of solr health indicator
Fixes gh-2410
2015-01-26 03:27:53 +01:00
Spring Buildmaster 60725cd8bd Next development version 2015-01-07 23:37:07 -08:00
Phillip Webb 44d81d43f6 Merge branch '1.1.x' 2015-01-06 12:00:41 -08:00
Phillip Webb bd83aca63f Fix InMemoryAuditEventRepository search by date
Update InMemoryAuditEventRepository to consider the date when searching
for events. Also switch to a circular buffer implementation and update
the capacity to limit the total number of items rather than limiting
per principal.

Fixes gh-2291
2015-01-06 11:58:28 -08:00
Phillip Webb 1f775793ee Use Collections.addAll(...) instead of for loops
Replace various for loops which add items to collections with calls
to Collections.addAll(...).

Fixes gh-2277
2015-01-04 11:49:06 -08:00
Mathieu Bernatet bf839e57a5 Fix global `endpoints.enabled` property support
Update AbstractEndpoint to correctly support the `endpoints.enabled`
property. Also fix EnvironmentEnpoint which would previously prevent
the Environment from being set.

Fixes gh-2264
Closes gh-2265
2014-12-31 19:05:25 -08:00
Stephane Nicoll 0a19fd0af0 Merge branch '1.1.x' 2014-12-28 10:52:16 +01:00
Stephane Nicoll 38594cd820 Remove unused code
Closes gh-2244
2014-12-28 10:51:53 +01:00