1340 Commits

Author SHA1 Message Date
Andy Wilkinson
19ad163486 Merge branch '2.3.x'
Closes gh-22411
2020-07-20 13:58:40 +01:00
Andy Wilkinson
accc1f1ca8 Merge branch '2.2.x' into 2.3.x
Closes gh-22410
2020-07-20 13:58:19 +01:00
Andy Wilkinson
21f733b89b Merge branch '2.1.x' into 2.2.x
Closes gh-22409
2020-07-20 13:49:53 +01:00
Andy Wilkinson
179d2c79d6 Avoid trivialising what the reader's learning about
Closes gh-22408
2020-07-20 13:45:41 +01:00
Andy Wilkinson
cb7f99ad72 Polish "Measure with nanoseconds in HttpExchangeTracer"
See gh-22266
2020-07-09 10:02:09 +01:00
dreis2211
d72f5139f1 Measure with nanoseconds in HttpExchangeTracer
See gh-22266
2020-07-09 10:01:55 +01:00
Brian Clozel
3f93978e99 Merge branch '2.3.x'
Closes gh-22215
2020-07-03 15:52:35 +02:00
Brian Clozel
86d8366ee2 Polish support for reactive Elasticsearch healthcheck
Fixes gh-21042
2020-07-03 15:25:18 +02:00
Aleksander Lech
203878a16f Add support for reactive Elasticsearch healthcheck
Prior to this commit, configuring a reactive Elasticsearch client would
auto-configure an Actuator Health check using a synchronous client, with
the default configuration properties (so tarting localhost:9200).

This would lead to false reports of unhealthy Elasticsearch clusters
when using reactive clients.

This commit reproduces the logic for MongoDB repositories: if a reactive
variant is available, it is selected for the health check
infrastructure.

See gh-21042
2020-07-03 15:16:38 +02:00
Andy Wilkinson
4ea07f432d Merge branch '2.3.x'
Closes gh-22168
2020-06-30 14:13:07 +01:00
Andy Wilkinson
75fc140e2d Merge branch '2.2.x' into 2.3.x
Closes gh-22167
2020-06-30 14:09:57 +01:00
Andy Wilkinson
3922fb7164 Polish "Avoid NPE when binder is closed before started event"
See gh-22141
2020-06-30 13:26:30 +01:00
im47cn
b34c268547 Avoid NPE when binder is closed before started event
Previously, if TomcatMetricsBinder destroy() was called before it had
received an ApplicationStartedEvent an NPE would be thrown due to
TomcatMetrics being null. This NPE was then caught and logged at
warning level by the disposable bean adapter.

This prevents the NPE by checking that the TomcatMetrics instance is
null before calling close() on it.

See gh-22141
2020-06-30 13:23:58 +01:00
Andy Wilkinson
fe78be240a Merge branch '2.3.x'
Closes gh-22103
2020-06-25 10:33:07 +01:00
Andy Wilkinson
a2f7ce0564 Merge branch '2.2.x' into 2.3.x
Closes gh-22102
2020-06-25 10:32:32 +01:00
Andy Wilkinson
5475f10657 Remove WebClient's in-memory buffer size limit for endpoint tests
Previously, the thread dump endpoint's response could exceed
WebClient's in-memory buffer limt when there were a large number of
threads or the threads had large stacks.

This commit disables WebClient's in-memory buffer size limit so that
the test passing is not dependent on the number of active threads and
their stack sizes.

Closes gh-22101
2020-06-25 10:21:43 +01:00
Scott Frederick
3b587449a6 Provide cluster info in RedisReactiveHealthIndicator
This commit changes the information provided by
RedisReactiveHealthIndicator to include cluster details when Spring
Data Redis detects that Redis is running in a clustered configuration.
This brings the reactive and non-reactive Redis health indicators
into alignment.

Fixes gh-21514
2020-06-24 16:45:26 -05:00
Scott Frederick
dba8ca2848 Merge branch '2.3.x'
Closes gh-22095
2020-06-24 13:40:57 -05:00
Scott Frederick
72f37c41fb Merge branch '2.2.x' into 2.3.x
Fixes gh-22061 in 2.3.2
2020-06-24 13:37:16 -05:00
Scott Frederick
b27303704f Fix RedisReactiveHealthIndicator in clustered configuration
Prior to Spring Data Redis version 2.2.8, the contents of the
Properties object returned from the
ReactiveRedisConnection.ServerCommands.info API were the same
for clustered and non-clustered Redis configurations, containing a set
of key/value pairs. This allowed ReactiveRedisHealthIndicator to get
a version property using a well-known key. Starting with Spring Data
Redis 2.2.8, the info property keys contain a host:port prefix in a
clustered Redis configuration. This prevented
ReactiveRedisHealthIndicator from getting the version property as
before and resulted in the health always being reported as DOWN.

This commit adjusts ReactiveRedisHealthIndicator to detect the
clustered configuration from Spring Data Redis and find the version
property for one of the reported cluster nodes.

Fixes gh-22061
2020-06-24 13:34:22 -05:00
Andy Wilkinson
0d6ea79007 Start building against Spring Framework 5.3.0 snapshots
See gh-21929
2020-06-22 18:02:21 +01:00
Stephane Nicoll
f0f8424191 Merge branch '2.3.x'
Closes gh-22008
2020-06-18 11:31:00 +02:00
dreis2211
855d596c2a Use lazy lambda instead of explicit argument
See gh-21986
2020-06-18 11:29:49 +02:00
Andy Wilkinson
9e08490522 Merge branch 'gh-21271'
Closes gh-21271
2020-06-16 12:52:17 +01:00
Andy Wilkinson
9636350b0b Enable rawtypes compilation warnings
See gh-21271
2020-06-16 12:50:50 +01:00
Andy Wilkinson
056d5f3120 Enable deprecation compilation warnings
See gh-21271
2020-06-16 12:50:47 +01:00
Andy Wilkinson
c64649a6d9 Enable unchecked compilation warnings
See gh-21271
2020-06-16 12:50:44 +01:00
Andy Wilkinson
07fb4b065d Merge branch '2.3.x'
Closes gh-21940
2020-06-16 10:10:38 +01:00
Andy Wilkinson
0de466e06e Require dependency on s-b-dependencies to use its constraints
Previously, Spring Boot's modules published Gradle Module Metadata
(GMM) the declared a platform dependency on spring-boot-dependencies.
This provided versions for each module's own dependencies but also had
they unwanted side-effect of pulling in spring-boot-dependencies
constraints which would influence the version of other dependencies
declared in the same configuration. This was undesirable as users
should be able to opt in to this level of dependency management, either
by using the dependency management plugin or by using Gradle's built-in
support via a platform dependency on spring-boot-dependencies.

This commit reworks how Spring Boot's build uses
spring-boot-dependencies and spring-boot-parent to provide its own
dependency management. Configurations that aren't seen by consumers are
configured to extend a dependencyManagement configuration that has an
enforced platform dependency on spring-boot-parent. This enforces
spring-boot-parent's version constraints on Spring Boot's build without
making them visible to consumers. To ensure that the versions that
Spring Boot has been built against are visible to consumers, the
Maven publication that produces pom files and GMM for the published
modules is configured to use the resolved versions from the module's
runtime classpath.

Fixes gh-21911
2020-06-16 08:50:21 +01:00
Stephane Nicoll
e87c3193ce Polish "Add Java 15 CI"
See gh-21713
2020-06-15 17:08:12 +02:00
dreis2211
cf3cd0be48 Use Class.getName() as fallback in HandlerFunctionDescription
In JDK 15 the concept of hidden classes was introduced, which also
affects Lambdas in so far that Class.getCanonicalName() will return null
for those. This commit uses Class.getName() as a fallback when no
canonical name is available.

See gh-21713
2020-06-15 16:45:59 +02:00
Stephane Nicoll
35e069e2cd Polish "Add health indicator for Cassandra that uses the CqlSession"
See gh-20887
2020-06-15 11:13:13 +02:00
Alexandre Dutra
dad9ec86d5 Add health indicator for Cassandra that uses the CqlSession
This commit provides a CassandraDriverHealthIndicator and
CassandraDriverReactiveHealthIndicator that do not require Spring Data.
As a result, a health indicator for Cassandra is provided even if the
application does not use Spring Data.

See gh-20887
2020-06-15 11:13:13 +02:00
Stephane Nicoll
554971d29b Merge branch '2.3.x'
Closes gh-21917
2020-06-15 08:42:13 +02:00
Stephane Nicoll
ee250e058a Merge branch '2.2.x' into 2.3.x
Closes gh-21916
2020-06-15 08:41:44 +02:00
Stephane Nicoll
ec8c1e3860 Update copyright year of changed files
See gh-21906
2020-06-15 08:39:51 +02:00
lltx
de897b9b72 Fix wrong property reference to keys-to-sanitize in Javadoc
See gh-21906
2020-06-15 08:39:51 +02:00
Phillip Webb
16b1d64b43 Merge branch '2.3.x'
Closes gh-21764
2020-06-08 10:30:33 -07:00
dreis2211
eeb1db2176 Use supplier assertions in availability indicator
See gh-21758
2020-06-08 10:29:28 -07:00
Phillip Webb
8a7a5929ae Merge branch '2.3.x' 2020-06-05 15:37:33 -07:00
Phillip Webb
cc50605687 Merge branch '2.2.x' into 2.3.x 2020-06-05 15:36:44 -07:00
Phillip Webb
0a05b4c9fd Update copyright year of changed files 2020-06-05 15:36:09 -07:00
Johnny Lim
cd1baf18fe Support filtered scrape for Prometheus
See gh-21545
2020-06-05 14:16:42 +02:00
Andy Wilkinson
daeca9f332 Restore Boot 2.2's compile-scoped dependencies
Fixes gh-21507
2020-06-03 12:55:11 +01:00
Stephane Nicoll
1d2d76b051 Merge branch '2.2.x'
Closes gh-21560
2020-05-25 13:52:10 +02:00
Stephane Nicoll
afcb5d54b2 Polish "Fix uri tag for empty path"
See gh-21392
2020-05-25 13:51:40 +02:00
Jon Schneider
f78f2d57e1 Fix uri tag for empty path
See gh-21392
2020-05-25 13:41:19 +02:00
Phillip Webb
fd505e516f Merge branch '2.2.x'
Closes gh-21444
2020-05-13 19:11:29 -07:00
Phillip Webb
49a21ded7a Create endpoint beans as late as possible
Update `EndpointDiscoverer` so that `@Endpoint` and `@EndpointExtension`
beans are created as late as possible.

Prior to this commit, endpoint beans and extension beans would be
created during the discovery phase which could cause early bean
initialization. The problem was especially nasty when using an embedded
servlet container since `ServletEndpointRegistrar` is loaded as the
container is initialized. This would trigger discovery and load all
endpoint beans, including the health endpoint, and all health indicator
beans.

Fixes gh-20714
2020-05-13 19:10:54 -07:00
Phillip Webb
038ae93406 Update copyright year of changed files 2020-05-13 16:48:51 -07:00