Commit Graph

13032 Commits (3810b4c3619bec5a8507fc7cb7132ace537908fa)

Author SHA1 Message Date
Stephane Nicoll 65dd408785 Upgrade to Spring Security 5.4.6
Closes gh-25911
4 years ago
Stephane Nicoll 3e4ee05aaa Upgrade to Reactor 2020.0.6
Closes gh-25908
4 years ago
Stephane Nicoll 75b65ddf62 Upgrade to Spring Security 5.3.9
Closes gh-25906
4 years ago
Stephane Nicoll a3502accbf Upgrade to Reactor Dysprosium-SR19
Closes gh-25902
4 years ago
Phillip Webb 89213c7d39 Switch default MVC path matching strategy
Change the default `spring.mvc.pathmatch.matching-strategy` to
`PATH_PATTERN_PARSER`.

Closes gh-24805
4 years ago
Scott Frederick b0ee15e7cc Merge branch '2.4.x'
Closes gh-26032
4 years ago
Scott Frederick 91ee590fd4 Remove @Persistent from MongoDB entity scanning
This commit removes `org.springframework.data.annotation.Persistent`
from the annotation types used for MongoDB entity scanning to align
with Spring Data MongoDB.

Fixes gh-25797
4 years ago
Andy Wilkinson 713c0fce7c Auto-configure H2C when HTTP/2 is enabled and SSL is disabled 4 years ago
Stephane Nicoll 1f71c8241c Merge branch '2.4.x'
Closes gh-26030
4 years ago
Stephane Nicoll 305bcb10ae Merge branch '2.3.x' into 2.4.x
Closes gh-26029
4 years ago
Stephane Nicoll d96fcf320c Harmonize Elasticsearch converter auto-configuration
This commit harmonizes our auto-configuration so that default converters
are configured the same way ElasticsearchConfigurationSupport does.

Closes gh-25087
4 years ago
Andy Wilkinson c4750fd0ff Support Gradle 7 and raise minimum supported version to 6.8
Closes gh-26026
4 years ago
Stephane Nicoll 8506a00071 Merge branch '2.4.x'
Closes gh-26025
4 years ago
Stephane Nicoll fd6ad5b889 Merge branch '2.3.x' into 2.4.x
Closes gh-26024
4 years ago
Stephane Nicoll 7286c33f53 Document default behaviour of DataJpaTest#showSql
Closes gh-25843
4 years ago
Andy Wilkinson eda9fe4952 Fix group IDs of HttpCore v4 and v5 dependency management
See gh-26004
4 years ago
Andy Wilkinson ba2583900f Provide auto-configuration for using Apache HttpClient 5 with WebClient
Closes gh-26004
4 years ago
Stephane Nicoll b2d167c186 Upgrade to Undertow 2.2.7.Final
Closes gh-26020
4 years ago
Stephane Nicoll d9d051053d Upgrade to Sun Mail 1.6.7
Closes gh-26018
4 years ago
Stephane Nicoll cddc0b625b Upgrade to Netty tcNative 2.0.38.Final
Closes gh-26017
4 years ago
Stephane Nicoll df9b17104c Upgrade to Netty 4.1.63.Final
Closes gh-26016
4 years ago
Stephane Nicoll 50922949bd Upgrade to MIMEPull 1.9.14
Closes gh-26015
4 years ago
Stephane Nicoll 8097d22821 Upgrade to Lombok 1.18.20
Closes gh-26014
4 years ago
Stephane Nicoll 20f47b3149 Upgrade to Jetty 9.4.39.v20210325
Closes gh-26012
4 years ago
Stephane Nicoll 3906719382 Upgrade to Jetty Reactive HTTPClient 1.1.7
Closes gh-26011
4 years ago
Stephane Nicoll 1bc2c3658a Upgrade to Jaybird 3.0.11
Closes gh-26010
4 years ago
Stephane Nicoll 6b98be6db9 Upgrade to Jakarta Mail 1.6.7
Closes gh-26009
4 years ago
Stephane Nicoll 4d8382b25c Upgrade to Hibernate 5.4.30.Final
Closes gh-26008
4 years ago
Stephane Nicoll 3f2cebd545 Upgrade to Dropwizard Metrics 4.1.19
Closes gh-26007
4 years ago
Stephane Nicoll 2d6c6282d9 Upgrade to AppEngine SDK 1.9.88
Closes gh-26006
4 years ago
dreis2211 ea55ca9971 Remove unused method parameters
See gh-25986
4 years ago
izeye 4987880afa Polish
See gh-25980
4 years ago
Andy Wilkinson 0a8da4fd7d Polish "Provide health for an AbstractRoutingDataSource's resolved targets"
See gh-25708
4 years ago
bono007 13600c3367 Provide health for an AbstractRoutingDataSource's resolved targets
See gh-25708
4 years ago
Stephane Nicoll 710a905187 Start building against Spring Integration 5.5.0-RC1 snapshots
See gh-25929
4 years ago
dreis2211 db79fe8b2c Test our Gradle Plugin against Gradle 7.0
See gh-25997
4 years ago
Phillip Webb f03f74ff0a Add Spring Data Repository metrics support
Add support for Spring Data Repository metrics by integrating with
Spring Data's new `RepositoryMethodInvocationListener` support.

Closes gh-22217
4 years ago
Phillip Webb 1893f935b4 Rework 'Supported Metrics' reference documentation
Rework the 'Supported Metrics' documentation to improve consistency
access subsections. Details about the `@Timer` annotation have been
pulled into a new section so that they can be referenced rather than
repeated.

See gh-22217
4 years ago
Phillip Webb 9f16491535 Rework @Timer annotation support
Rework existing `@Timer` annotation support to remove duplicate code
and offer general purpose utilities that can be used in future metrics
support.

See gh-23112
See gh-22217
4 years ago
Phillip Webb 3d7e5e3abd Polish 4 years ago
Phillip Webb efba7076ba Fix title case capitalization 4 years ago
Scott Frederick 5bc35e8f44 Extract XML example from Maven plugin adoc file
See gh-25993
4 years ago
Scott Frederick e27d4848dd Merge branch '2.4.x'
Closes gh-25993
4 years ago
Scott Frederick 6a7f1f1c56 Merge branch '2.3.x' into 2.4.x
Closes gh-25992
4 years ago
Scott Frederick e19443093d Document runtime JVM configuration when building an image
Fixes gh-21478
4 years ago
Stephane Nicoll c1ebe40c56 Polish "Add reference to Bitcoin Spring Boot starter"
See gh-25943
4 years ago
Thebora Kompanioni f7c5ece35e Add reference to Bitcoin Spring Boot starter
See gh-25943
4 years ago
Andy Wilkinson 048463742d Merge branch '2.4.x'
See gh-25985
4 years ago
Andy Wilkinson 06168bb130 Polish FileSystemWatcherTests
See gh-25982
4 years ago
dreis2211 21ece1ea30 Remove Gradle 5.6.x support from docs
See gh-25981
4 years ago
Andy Wilkinson 91473cc326 Merge branch '2.4.x'
Closes gh-25983
4 years ago
Andy Wilkinson 638aa87d13 Merge branch '2.3.x' into 2.4.x
Closes gh-25982
4 years ago
Andy Wilkinson 02e6b7c89c Make FileSystemWatcherTests more robust
Previously, several tests in FileSystemWatcherTests assumed that all
of the changes detected by the watcher would be grouped into a single
change set. This assumption breaks down when a test runs slowly (due
to CPU or IO contention, for example), and making changes to the file
system takes long then the watcher's polling interval. When this
happens, the changes will be split across two (or more).

This commit attempts to make the tests more robust. The tests now
tolerate multiple changes sets by combining them and asserting that
across the n change sets, only the expected changes were detected.

Closes gh-25901
4 years ago
izeye 98b0b6c4c5 Fix MongoMetricsAutoConfigurationTests
See gh-25952
4 years ago
Stephane Nicoll 719d10b6e7 Merge branch '2.4.x'
Closes gh-25979
4 years ago
dreis2211 afd4b582ed Fix typos in docs
See gh-25947
4 years ago
Stephane Nicoll c5c07185bf Upgrade to Undertow 2.1.7.Final
Closes gh-25978
4 years ago
Stephane Nicoll 02b951cab1 Upgrade to Sun Mail 1.6.7
Closes gh-25976
4 years ago
Stephane Nicoll 7e8c5fcb84 Upgrade to Spring Kafka 2.5.12.RELEASE
Closes gh-25975
4 years ago
Stephane Nicoll ae9576dfcb Upgrade to Spring Batch 4.2.6.RELEASE
Closes gh-25974
4 years ago
Stephane Nicoll f43f8f6d73 Upgrade to Spring AMQP 2.2.16.RELEASE
Closes gh-25973
4 years ago
Stephane Nicoll 4e0733e363 Upgrade to RSocket 1.0.4
Closes gh-25972
4 years ago
Stephane Nicoll 74016134b4 Upgrade to R2DBC Bom Arabba-SR9
Closes gh-25971
4 years ago
Stephane Nicoll 6c6c6aee78 Upgrade to Postgresql 42.2.19
Closes gh-25970
4 years ago
Stephane Nicoll dd9e705afb Upgrade to OAuth2 OIDC SDK 7.1.3
Closes gh-25969
4 years ago
Stephane Nicoll 877bc6d7e6 Upgrade to Netty tcNative 2.0.38.Final
Closes gh-25968
4 years ago
Stephane Nicoll 4eb20f4298 Upgrade to Netty 4.1.63.Final
Closes gh-25967
4 years ago
Stephane Nicoll 6a76ecfbc8 Upgrade to Neo4j OGM 3.2.21
Closes gh-25966
4 years ago
Stephane Nicoll 2ea065a6cf Upgrade to MongoDB 4.0.6
Closes gh-25965
4 years ago
Stephane Nicoll d2117b6b3f Upgrade to MIMEPull 1.9.14
Closes gh-25964
4 years ago
Stephane Nicoll cccb1332b3 Upgrade to Micrometer 1.5.12
Closes gh-25963
4 years ago
Stephane Nicoll f58cda7b53 Upgrade to Maven Invoker Plugin 3.2.2
Closes gh-25962
4 years ago
Stephane Nicoll 7ccebf5fb3 Upgrade to Lombok 1.18.20
Closes gh-25961
4 years ago
Stephane Nicoll 030af053ec Upgrade to Jetty 9.4.39.v20210325
Closes gh-25960
4 years ago
Stephane Nicoll e70590ecb8 Upgrade to Jetty Reactive HTTPClient 1.1.7
Closes gh-25959
4 years ago
Stephane Nicoll 7b61e0cad2 Upgrade to Jaybird 3.0.11
Closes gh-25958
4 years ago
Stephane Nicoll 894a4379f1 Upgrade to Jakarta Mail 1.6.7
Closes gh-25957
4 years ago
Stephane Nicoll 79679ff314 Upgrade to Hibernate 5.4.30.Final
Closes gh-25956
4 years ago
Stephane Nicoll 741d60563f Upgrade to Dropwizard Metrics 4.1.19
Closes gh-25955
4 years ago
Stephane Nicoll d599b0c558 Upgrade to Byte Buddy 1.10.22
Closes gh-25954
4 years ago
Stephane Nicoll bffa26fefa Upgrade to AppEngine SDK 1.9.88
Closes gh-25953
4 years ago
Stephane Nicoll d50e581403 Start building against Micrometer 1.7.0-RC1 snapshots
See gh-25934
4 years ago
Stephane Nicoll 555a3a79cb Start building against Spring WS 3.1.0-RC1 snapshots
See gh-25933
4 years ago
Stephane Nicoll 1f357f62cf Start building against Spring Session 2021.0.0-RC1 snapshots
See gh-25932
4 years ago
Stephane Nicoll fee62c41b9 Start building against Spring Security 5.5.0-RC1 snapshots
See gh-25931
4 years ago
Stephane Nicoll 03f2054984 Start building against Spring Kafka 2.7.0 snapshots
See gh-25930
4 years ago
Stephane Nicoll 3ee6a945ec Start building against Spring Data 2021.0.0 snapshots
See gh-25928
4 years ago
Stephane Nicoll 6bf6136aaf Upgrade to Jedis 3.6.0-RC1
Closes gh-25950
4 years ago
Stephane Nicoll b4ca1b9112 Start building against Spring HATEOAS 1.3.0 snapshots
See gh-25927
4 years ago
Stephane Nicoll 4290e0792b Start building against Spring Framework 5.3.6 snapshots
See gh-25926
4 years ago
Phillip Webb 7a636e5c08 Update @Timed WebFlux documentation
Closes gh-23112
4 years ago
Phillip Webb 15fe41868e Polish 'Support @Timed annotation for WebFlux'
Extract common method logic to a `HandlerMethodTimedAnnotations`
utility class and also add some caching. Also move the test code
into a single class.

See gh-23112
4 years ago
anshlykov 4ff4a9b082 Support @Timed annotation for WebFlux
Update `MetricsWebFilter` to support `@Timed` annotations on the WebFlux
handler methods or beans.

See gh-23112
4 years ago
Phillip Webb 7056a95ffc Polish 'Support system-dependent path separators'
See gh-24490
4 years ago
mederel f918a46ea2 Support system-dependent path separators
Update `StandardConfigDataLocationResolver` so that it recognizes
both `/` and `File.separator` suffixes as directories.

Prior to this commit, working with directories on Windows was awkward
since the path separator is `\`. If a directory were specified in the
form `c:\config\`, an exception was raised complaining it did not end
with '/'.

See gh-24490
4 years ago
Phillip Webb 6ad100eae6 Short circuit already covered property sources
Add an alternative `PropertySourcesPropertyResolver` that can short
circuit resolution of properties that are already covered by the
`ConfigurationPropertySourcesPropertySource`.

Prior to this commit, calling `getProperty` or `containsProperty` on an
`Environment` that has `ConfigurationPropertySources` attached could
result in two identical calls to the underlying source. The first call
would be via the adapted source, and the second would be direct. Since
we can now plug-in a custom `PropertySourcesPropertyResolver` to the
`Environment`, we can optimize resolution so that calls happen only
once.

Closes gh-17400
4 years ago
Phillip Webb 1d302f4c63 Add customer Application Environment subclasses
Add custom `ApplicationEnvironment`, `ApplicationServletEnvironment`
and `ApplicationReactiveWebEnvironment` subclasses for use with
`SpringApplication`. The subclasses all disable the resolution of
active and default profiles using properties since this is handled
directly by the `ConfigDataEnvironmentPostProcessor`.

Closes gh-24892
See gh-24890
4 years ago
Phillip Webb d938dd97bf Add with/without methods to ConfigData.Options
Add convenience methods to ConfigData.Options to allow new Options
instances to be created with options excluded or included.

See gh-25766
4 years ago
Scott Frederick 86303c017b Merge branch '2.4.x'
Closes gh-25938
4 years ago
Scott Frederick 9108b81bb2 Merge branch '2.3.x' into 2.4.x
Closes gh-25937
4 years ago
Scott Frederick 0ad7f76263 Preserve file permissions in images built by Gradle
This commit copies the file mode along with other attributes when
copying files from the source archive to the build container while
building an image using the Gradle plugin. This preserves file
permissions on any resources included in the source archive.

Fixes gh-25915
4 years ago
Brian Clozel 0929048bb4 Link build tools docs version properties section
Closes gh-25935
4 years ago
Stephane Nicoll 5aa1e683c0 Start building against Spring Session 2020.0.4 snapshots
See gh-25912
4 years ago
Stephane Nicoll 0f53663cf6 Start building against Spring Security 5.4.6 snapshots
See gh-25911
4 years ago
Stephane Nicoll aa8f5433ee Start building against Spring Data 2020.0.8 snapshots
See gh-25910
4 years ago
Stephane Nicoll f1b2db03e0 Start building against Spring Framework 5.3.6 snapshots
See gh-25909
4 years ago
Brian Clozel b4d2207902 Merge branch '2.4.x'
Closes gh-25936
4 years ago
Brian Clozel a0ee0601ef Fix SSL configuration with Reactor Netty
Prior to this commit, the SslServerCustomizer would use a Reactor Netty
API that lets users customize the SSL configuration, but later override
some of the choices with defaults.

This commits moves from the new deprecated Reactor Netty API and instead
uses a new variant that builds the defaults and lets developers override
them if they want to.

Fixes gh-25913
4 years ago
Stephane Nicoll b52902e92a Merge branch '2.4.x'
Closes gh-25923
4 years ago
Stephane Nicoll c6205f10f1 Merge branch '2.3.x' into 2.4.x
Closes gh-25922
4 years ago
Stephane Nicoll 25b7495d8e Polish "Properly close input streams when loading key stores"
See gh-25884
4 years ago
Alex Belyaev 1e3f5c342b Properly close input streams when loading key stores
See gh-25884
4 years ago
Phillip Webb e4164d0143 Fix package tangle in endpoint package
Fix package tangle in the actuator endpoint package by relocating a
few classes.

The `Producible` and `ProducibleOperationArgumentResolver` classes have
been moved from `endpoint.annotation` to `endpoint` since they aren't
directly tied to annotations.

The `ApiVersion` class has been moved from `endpoint.http` to
`endpoint` since it needs to implement `Producible` and isn't really
tied to HTTP.

Closes gh-25914
4 years ago
Phillip Webb e766c8b3a7 Revert "Switch default MVC path matching strategy"
This reverts commit ab8e599cfe.

See gh-24805
4 years ago
Phillip Webb ab8e599cfe Switch default MVC path matching strategy
Change the default `spring.mvc.pathmatch.matching-strategy` to
`PATH_PATTERN_PARSER`.

Closes gh-24805
4 years ago
Phillip Webb 455864bfa0 Allow 'servet.path' with path pattern parser
Remove the restriction previously prevented `spring.mvc.servlet.path`
from being combined with a `spring.mvc.pathmatch.matching-strategy`
of `PATH_PATTERN_PARSER`. Spring Framework supports this combination
as of v5.3.4.

See gh-24805
4 years ago
Stephane Nicoll 2a60503849 Start building against Spring Session Dragonfruit-SR3 snapshots
See gh-25907
4 years ago
Stephane Nicoll e4bf730f0b Start building against Spring Security 5.3.9 snapshots
See gh-25906
4 years ago
Stephane Nicoll b12a725977 Start building against Spring Data Neumann-SR9 snapshots
See gh-25905
4 years ago
Stephane Nicoll 80e893ebae Upgrade to Spring HATEOAS 1.1.5
Closes gh-25904
4 years ago
Stephane Nicoll aab5859fde Start building against Spring Framework 5.2.14 snapshots
See gh-25903
4 years ago
Stephane Nicoll ac1117f1a1 Start building against Reactor Reactor Dysprosium-SR19
See gh-25902
4 years ago
Andy Wilkinson 4d31182123 Polish "Add detection of Azure App Service to CloudPlatform"
See gh-25829
4 years ago
Julien Dubois 98a1017ee7 Add detection of Azure App Service to CloudPlatform
See gh-25829
4 years ago
Andy Wilkinson 8b5f914ba5 Revert "Merge branch '2.4.x'"
This reverts commit 97b26b4886, reversing
changes made to 6f9b1ed6a3.

See gh-25840
4 years ago
Andy Wilkinson e9ce20dbf4 Revert "Merge branch '2.3.x' into 2.4.x"
This reverts commit 586ce00e06, reversing
changes made to 563b8a8cec.

See gh-25839
4 years ago
Andy Wilkinson b35d1ec6e8 Revert "Use test harness for image building integration tests"
This reverts commit da9d8d6055.

See gh-25838
4 years ago
Phillip Webb 72ccab0aad Fix WebSessionManager auto-configuration order
Auto-configure `SessionAutoConfiguration` before
`WebFluxAutoConfiguration` to ensure that the correct
`WebSessionManager` bean is created.

See gh-20970
4 years ago
Phillip Webb 807ea1af0d Update copyright year of changed files 4 years ago
Phillip Webb 4b05dbf4a2 Polish 4 years ago
Andy Wilkinson 1994219399 Polish "Add config props for keep-alive timeout and max keep-alive reqs"
See gh-25815
4 years ago
Parviz Rozikov 34b94d8898 Add config props for keep-alive timeout and max keep-alive reqs
See gh-25815
4 years ago
Brian Clozel dc6b5badb8 Add SameSite session cookie config property for WebFlux
This commit adds a new `spring.webflux.session.cookie.same-site`
confuguration property that sets the default value for the "SameSite"
attribute in the WebFlux session cookies.

Closes gh-20970
4 years ago
Andy Wilkinson 73e1dd8728 Polish "Auto-configure Mongo metrics"
See gh-23990
4 years ago
bono007 81c18214d1 Auto-configure Mongo metrics
See gh-23990
4 years ago
Andy Wilkinson ef986b13e5 Polish Quartz endpoint documentation
See gh-10364
4 years ago
Stephane Nicoll b11602aeaa Polish "Add Quartz actuator endpoint"
This commit reworks the initial proposal so that jobs and triggers are
treated as first class concepts.

`/actuator/quartz` now returns the group names for jobs and triggers.

`actuator/quartz/jobs` returns the job names, keyed by the available
group names, while `/actuator/quartz/triggers` does the same for
triggers.

`/actuator/jobs/{groupName}` provides an overview of a job group. It
provides a map of job names with the class name of the job.
implementation

`/actuator/triggers/{groupName}` provides an overview of a trigger
group. There are five supported trigger implementations: cron, simple,
daily time interval, calendar interval, and custom for any other
implementation. Given that each implementation has specific settings,
triggers are split in five objects.

`/actuator/jobs/{groupName}/{jobName}` provides the full details of a
particular job. This includes a sanitized data map and a list of
triggers ordered by next fire time.

`/actuator/triggers/{groupName}/{triggerName}` provides the full details
of a particular trigger. This includes the state, its type, and a
dedicate object containing implementation-specific settings.

See gh-10364
4 years ago
Vedran Pavic 9795061360 Add Quartz actuator endpoint
See gh-10364
4 years ago
Andy Wilkinson 095ff18854 Test our Gradle plugin against Gradle 7.0-rc-2
Closes gh-25888
4 years ago
Phillip Webb a99f78c62f Merge branch '2.4.x' 4 years ago
Phillip Webb 8a04547454 Fix checkstyle violation
See gh-25766
4 years ago
Phillip Webb c6cd5117d4 Merge branch '2.4.x'
Closes gh-25887
4 years ago
Phillip Webb 5774ea3f0c Support profile specific ConfigData imports
Update the `ConfigData` import support to allow individual property
sources to be imported with a higher precedence than profile specific
imports.

Prior to this commit, imported sources would always have a higher
precedence than the file that imported them, but a lower precedence
than any profile-specific variant of the same file.

For example, given an `application.properties` that imports `myconfig`,
the contributor tree would be as follows:

	ROOT
	 +- `application.properties`
	 |    +- myconfig
	 +- `application-<profile>.properties`

The precedence would be:

	1) `application-<profile>.properties`
	2) myconfig
	3) `application.properties`

This works well for most situations, but can be confusing if import is
for a profile-specific property source. For example:

	ROOT
	 +- `application.properties`
	 |    +- myconfig
	 |    +- myconfig-<profile>
	 +- `application-<profile>.properties`

Results in the order precedence of:

	1) `application-<profile>.properties`
	2) myconfig-<profile>
	3) myconfig
	4) `application.properties`

This means that whilst `myconfig` overrides `application.properties`,
`myconfig-profile` does not override `application-<profile>.properties`.

For this specific situation, the preferable order would be:

	1) myconfig-<profile>
	2) `application-<profile>.properties`
	3) myconfig
	4) `application.properties`

To support this alternative ordering a new `PROFILE_SPECIFIC` config
data option has been added. Additionally, options may now be specified
on a per-source basis by using the `PropertySourceOptions` interface.

Fixes gh-25766
4 years ago
Stephane Nicoll d578e20b2d Merge branch '2.4.x'
Closes gh-25883
4 years ago
Tommy Ludwig 3746385f98 Polish HealthIndicators table in docs
`=======` was showing up in the header of the table, which should not
be there.

See gh-25882
4 years ago
Stephane Nicoll dd916f908f Merge branch '2.4.x'
Closes gh-25880
4 years ago
Stephane Nicoll db3dfffdca Polish contribution
See gh-25875
4 years ago
izeye 852e5778a3 Polish
See gh-25875
4 years ago
Brian Clozel 72a1eb6384 Allow to manually tag request metrics with exceptions
Prior to this commit, some exceptions handled at the controller or
handler function level would:

* not bubble up to the Spring Boot error handling support
* not be tagged as part of the request metrics

This situation is inconsistent because in general, exceptions handled at
the controller level can be considered as expected behavior.
Also, depending on how the exception is handled, the request metrics
might not be tagged with the exception.
This will be reconsidered in gh-23795.

This commit prepares a transition to the new situation. Developers can
now opt-in and set the handled exception as a request attribute. This
well-known attribute will be later read by the metrics support and used
for tagging the request metrics with the exception provided.

This mechanism is automatically used by the error handling support in
Spring Boot.

Closes gh-24028
4 years ago
Andy Wilkinson 66e9619d65 Merge branch '2.4.x'
Closes gh-25870
4 years ago