Commit Graph

12737 Commits

Author SHA1 Message Date
Brian Clozel
61573fbf14 Record server metrics for cancelled connections
Prior to this commit, the Actuator instrumentation for WebFlux servers
would not record metrics in two cases:

* the client disconnects before the response has been sent
* a server timeout is triggered before the response is sent

This commit improves the existing instrumentation to record metrics in
these cases. Since the causes of timeouts/disconnections can vary a lot,
the chosen "outcome" tag for metrics is "UNKNOWN".

Closes gh-23606
2021-03-29 21:31:18 +02:00
Andy Wilkinson
9b65409e23 Generalize database initialization detection and include R2DBC
Closes gh-25818
2021-03-29 20:07:54 +01:00
Andy Wilkinson
22b02a6c6f Merge branch '2.4.x'
Closes gh-25823
2021-03-29 14:39:17 +01:00
Andy Wilkinson
a025f3d252 Merge branch '2.3.x' into 2.4.x
Closes gh-25822
2021-03-29 14:38:38 +01:00
Andy Wilkinson
896f20e1d3 Improve diagnostics of ClassPathFileSystemWatcherTests
Closes gh-25821
2021-03-29 14:37:25 +01:00
Stephane Nicoll
9087c24713 Merge branch '2.4.x'
See gh-25820
2021-03-29 14:38:57 +02:00
Stephane Nicoll
8bb4020bd4 Polish
See gh-25819
2021-03-29 14:36:26 +02:00
Andy Wilkinson
676713be3f Merge branch '2.4.x'
Closes gh-25820
2021-03-29 13:01:02 +01:00
Andy Wilkinson
403e747c46 Use constructor injection in SpringBootRepositoryRestConfigurer
Closes gh-25819
2021-03-29 13:00:02 +01:00
Andy Wilkinson
e49a88cb9b Auto-configure script-based R2DBC database initialization
See gh-24741
2021-03-29 12:01:19 +01:00
Andy Wilkinson
9cc7f0b54d Generalize script-based DB initialization and add R2DBC initializer
See gh-24741
2021-03-29 11:51:02 +01:00
Andy Wilkinson
eb1200415d Derive a ConnectionFactoryBuilder from an existing ConnectionFactory
Closes gh-25788
2021-03-29 09:17:05 +01:00
Stephane Nicoll
870d9b191a Merge branch '2.4.x'
Closes gh-25813
2021-03-27 08:06:21 +01:00
Stephane Nicoll
d1aaee46bb Merge branch '2.3.x' into 2.4.x
Closes gh-25812
2021-03-27 08:06:02 +01:00
dreis2211
be4491959b Fix flaky QuartzAutoConfigurationTests
See gh-25810
2021-03-27 08:00:52 +01:00
Scott Frederick
269fc68c1d Merge branch '2.4.x'
Closes gh-25811
2021-03-26 16:43:13 -05:00
Scott Frederick
4015d70f00 Merge branch '2.3.x' into 2.4.x
Closes gh-25789
2021-03-26 15:16:01 -05:00
dreis2211
a9a37f0dd5 Increase test coverage on Java 16
See gh-25809
2021-03-26 19:38:54 +00:00
Scott Frederick
3ad5f1013a Fix Maven image building with classifiers
Fixes gh-25736
2021-03-26 11:36:38 -05:00
Andy Wilkinson
340893747b Merge branch '2.4.x'
Closes gh-25799
2021-03-25 15:50:45 +00:00
Andy Wilkinson
af7e4e211c Support all known endpoint types
Previously, the configuration metadata annotation processor only
declared support for `@Endpoint` and none of the other more
specialized `@…Endpoint` annotations that are meta-annotated with
`@Endpoint` such as `@WebEndpoint` and `@JmxEndpoint. This would
result in missing metadata if a full or incremental build only
compiled classes annotated with one of the more specialized
`@…Endpoint` annotations as the annotation processor would not be
called.

This commit updates the processor's supported annotation types to
include every known `@…Endpoint` annotation. The test processor has
also been similarly updated to align its behaviour with that of the
main processor.

Fixes gh-25388
2021-03-25 15:23:09 +00:00
Andy Wilkinson
759e5cb5f5 Polish indentation 2021-03-25 09:40:37 +00:00
Phillip Webb
8da82d2d36 Merge branch '2.4.x'
Closes gh-25790
2021-03-24 14:11:34 -07:00
Phillip Webb
35aeae5a4f Deprecate Bootstrapper
Deprecate the `Bootstrapper` interface entirely and provide a
`BootstrapRegistryInitializer` alternative so that people can migrate.

Unfortunately our previous attempt to fix the typo in the `Bootstrapper`
interface didn't provide us a way to remove the deprecated method
without impacting users. It was also problematic for people who were
implementing `Bootstrapper` rather than using a lambda since they needed
to introduce the deprecated method.

We unfortunately can't see a way to fix the original typo without
introducing a new interface.

Fixes gh-25735
2021-03-24 14:10:12 -07:00
Phillip Webb
02a6de4498 Merge branch '2.4.x'
Closes gh-25787
2021-03-24 12:53:06 -07:00
Phillip Webb
ddf5c9f5d1 Merge branch '2.3.x' into 2.4.x
Closes gh-25786
2021-03-24 12:52:51 -07:00
Phillip Webb
88b74097ba Polish 'Ignore quality value when removing MediaType.ALL'
See gh-25778
2021-03-24 12:35:56 -07:00
Fábio Ramon
3090a3a71f Ignore quality value when removing MediaType.ALL
Update the default reactive exception handler so that `MediaType.ALL`
is removed regardless of any quality setting. Prior to this commit,
the "match-all" media type was not properly ignored if it has a quality
value and would show HTML content if the accept header was
`application/json, */*;q=0.9`.

See gh-25778
2021-03-24 12:35:32 -07:00
Phillip Webb
38584f0694 Merge branch '2.4.x'
Closes gh-25785
2021-03-24 12:24:14 -07:00
Phillip Webb
5274cf2459 Merge branch '2.3.x' into 2.4.x
Closes gh-25784
2021-03-24 12:23:44 -07:00
Phillip Webb
130cc5b036 Chain caught InvalidEndpointRequestExceptions
Update `AbstractWebMvcEndpointHandlerMapping` to chain any caught
InvalidEndpointRequestExceptions so that a more complete stacktrace
is available. The exception has also been updated to a
`ResponseStatusException` so that the reason can be propagated.

Fixes gh-25642
2021-03-24 12:22:26 -07:00
Andy Wilkinson
90b4ced7a6 Move DataSource init auto-config out of DataSourceAutoConfiguration
Previously, the auto-configuration for DataSource initialization and
the properties used to configure it were part of the general
DataSource auto-configuration and properties.

This commit moves the auto-configuration of DataSource initialization
out into a separate top-level auto-configuration class. Similarly,
the properties for configuring DataSource initialization have been
moved from `spring.datasource.*` into `spring.sql.init.*`.

The old initialization-related `spring.datasource.*` properties have
been deprecated but can still be used. When they are used, they new,
separate initialization auto-configuration will back off. In other
words, the initialization related `spring.datasource.*` properties
and the `spring.sql.init.*` properties cannot be used in combination.

Closes gh-25323
2021-03-24 14:57:29 +00:00
Andy Wilkinson
e2811ace72 Improve testing of optional schema and data scripts
See gh-25487
2021-03-24 12:33:56 +00:00
Andy Wilkinson
5758a5aa39 Rename DDL/DML script location properties
See gh-25756
2021-03-24 12:20:36 +00:00
Stephane Nicoll
36b63eec4b Polish "Expose Spring Integration global properties"
See gh-25377
2021-03-24 11:03:26 +01:00
Artem Bilan
e2df9bce84 Expose Spring Integration global properties
Spring Integration comes with some global properties which can be
configured via `META-INF/spring.integration.properties`. The framework
then provides an `integrationGlobalProperties` bean as an
`org.springframework.integration.context.IntegrationProperties`
instance.

This commit allows users to configure these using regular
`application.properties`. If a `META-INF/spring.integration.properties`
file exists, the values are used as fallback.

See gh-25377
2021-03-24 11:03:26 +01:00
Phillip Webb
deaff1a522 Merge branch '2.4.x'
Closes gh-25775
2021-03-23 17:08:18 -07:00
Phillip Webb
ca9fae6b47 Merge branch '2.3.x' into 2.4.x
Closes gh-25774
2021-03-23 17:07:44 -07:00
Phillip Webb
ec21202d54 Delete unpacked jars when the JVM exits
Update `JarFileArchive` so that any unpacked files are now deleted when
the JVM exits.

Closes gh-25773
2021-03-23 17:06:56 -07:00
Phillip Webb
05f61bccea Align unpack logic with Files.createTempDirectory
Update `JarFileArchive` to align the way that it creates temp files and
folders with the way that `Files.createTempDirectory` works.

Closes gh-25772
2021-03-23 17:06:56 -07:00
Phillip Webb
b8873578ca Add missing @Deprecated annotations 2021-03-23 17:06:53 -07:00
Phillip Webb
b8fdb442b0 Merge branch '2.4.x' 2021-03-23 13:09:36 -07:00
Phillip Webb
9af6c895c9 Merge branch '2.3.x' into 2.4.x 2021-03-23 13:09:25 -07:00
Phillip Webb
2b591387b8 Restore tomcat-embed TldPatterns
Restore tomcat-embed-core-* and tomcat-embed-logging-* patterns which
were inadvertently removed in commit 0ec8d281ef.

See gh-25764
2021-03-23 13:07:15 -07:00
Phillip Webb
77ddb45704 Merge branch '2.4.x' 2021-03-23 12:53:59 -07:00
Phillip Webb
11a94ee6f0 Merge branch '2.3.x' into 2.4.x 2021-03-23 12:52:07 -07:00
Phillip Webb
82127fdaa3 Update copyright year of changed files 2021-03-23 12:50:49 -07:00
Phillip Webb
985e5a4340 Merge branch '2.4.x'
Closes gh-25771
2021-03-23 12:49:59 -07:00
Phillip Webb
56674b9031 Merge branch '2.3.x' into 2.4.x
Closes gh-25770
2021-03-23 12:48:51 -07:00
Phillip Webb
0ec8d281ef Align TldPatterns with Tomcat default
Update `TldPatterns` to align with the latest default shipped by Tomcat.
This commit also introduces a test to ensure that we will remain aligned
going forwards.

Closes gh-25764
2021-03-23 12:46:27 -07:00