Commit Graph

2685 Commits

Author SHA1 Message Date
Andy Wilkinson 4d30eb453f Adopt Hiberate's CamelCaseToUnderscoresNamingStrategy
Closes gh-27352
2021-07-19 13:19:49 +01:00
Andy Wilkinson 8540bc0d12 Polish restoration of ConfigFileApplicationListener
See gh-27303
2021-07-14 18:01:34 +01:00
Phillip Webb be5e8b3139 Restore ConfigFileApplicationListener in deprecated form
Restore `ConfigFileApplicationListener` in a deprecated form since
Spring Cloud need it. Scheduled removal is now in 3.0.0.

See gh-27303
2021-07-14 08:30:11 -07:00
Andy Wilkinson c406dda181 Deprecate AbstractDataSourceInitializer
Closes gh-27206

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2021-07-14 13:39:14 +01:00
Stephane Nicoll dc5acb0019 Remove deprecated code flagged for removal
Closes gh-27303
2021-07-14 11:50:01 +02:00
Andy Wilkinson 9ccd6a6f2f Merge branch '2.5.x'
Closes gh-27307
2021-07-13 15:56:32 +01:00
Andy Wilkinson 705feeed6a Polish "Allow additional JVM args when running tests via toolchain"
See gh-27089
2021-07-13 15:28:04 +01:00
dreis2211 01b0156fed Allow additional JVM args when running tests via toolchain
See gh-27089
2021-07-13 15:24:45 +01:00
Andy Wilkinson d8d98e615b Merge branch '2.5.x'
Closes gh-27223
2021-07-09 12:22:33 +01:00
Andy Wilkinson 94f94f30f5 Polish "Detect AbstractDataSourceInitializers as DB initializers"
See gh-27215
2021-07-09 12:05:56 +01:00
Henning Pöttker 433f3d6bc4 Detect AbstractDataSourceInitializers as DB initializers
See gh-27215
2021-07-09 12:04:17 +01:00
Madhura Bhave d82b46b718 Merge branch '2.5.x' into main
Closes gh-27212
Closes gh-27213
2021-07-08 13:05:46 -07:00
Madhura Bhave 0f70c46746 Merge branch '2.4.x' into 2.5.x
Closes gh-27210
Closes gh-27211
2021-07-08 13:04:48 -07:00
Madhura Bhave 42e556dd73 Handle file with name matching an optional wildcard location
Previously, the presence of a file with the same name
as an optional wildcard location would cause a failure. With
this change the pattern is resolved only if the resource is a
directory.

Additionally, if an optional wildcard search location that was a file
would also fail with an exception. This commit fixes that so that those
locations are not resolved.

Fixes gh-27120
Fixes gh-27209
2021-07-08 13:01:15 -07:00
Andy Wilkinson bd1b73be94 Merge branch '2.5.x'
Closes gh-27186
2021-07-08 09:18:45 +01:00
Andy Wilkinson 283b4a6ed2 Improve error message for non-options-capable ConnectionFactory
Fixes gh-26977
2021-07-08 09:17:55 +01:00
Stephane Nicoll fa1eb544c1 Merge branch '2.5.x'
Closes gh-27155
2021-07-06 09:10:13 +02:00
Stephane Nicoll 888393d63b Merge branch '2.4.x' into 2.5.x
Closes gh-27154
2021-07-06 09:10:03 +02:00
Stephane Nicoll 5ec0c7ed12 Polish "Fix duration to microseconds conversion"
See gh-27149
2021-07-06 09:07:48 +02:00
marckchr a406a46fa1 Fix duration to microseconds conversion
See gh-27149
2021-07-06 09:07:47 +02:00
Madhura Bhave 1f3b32c3b9 Merge branch '2.5.x' into main
Closes gh-27138
2021-07-01 15:46:21 -07:00
Madhura Bhave 55593a7ac1 Merge branch '2.4.x' into 2.5.x
Closes gh-27137
2021-07-01 15:46:00 -07:00
Madhura Bhave eb4144eb97 Add clarification on when @DevaultValue is used during binding
Closes gh-26742
2021-07-01 15:39:16 -07:00
Andy Wilkinson 8b9991fcc7 Merge branch '2.5.x'
Closes gh-27076
2021-06-24 14:07:17 +01:00
Andy Wilkinson 5a9fa3c8f1 Only close context that is active
Previously, SpringApplicationShutdownHook would call close() on any
registered application context even if it wasn't active as it had
already been closed. This could lead to deadlock if the context was
closed and System.exit was called during application context refresh.

This commit updates SpringApplicationShutdownHook so that it only
calls close() on active contexts. This prevents deadlock as it avoids
trying to sychronize on the context's startupShutdownMonitor on
the shutdown hook thread while it's still held on the main thread
which called System.exit and is waiting for all of the shutdown hooks
to complete.

Fixes gh-27049
2021-06-24 14:07:02 +01:00
Andy Wilkinson 9b91c18163 Merge branch '2.5.x'
See gh-27073
2021-06-24 09:53:20 +01:00
Andy Wilkinson e2d68aa8b2 Merge branch '2.4.x' into 2.5.x
See gh-27072
2021-06-24 09:53:04 +01:00
Andy Wilkinson a7872f47da Minimize Instantiator's public API
See gh-27043
2021-06-24 09:27:08 +01:00
Phillip Webb 6686a49b1f Merge branch '2.5.x'
Closes gh-27074
2021-06-24 00:04:44 -07:00
Phillip Webb b093db104c Pass ResourceLoader.getClassLoader() to Instantiator
Update calls to `Instantiator` to that they also include
`ResourceLoader.getClassLoader()`.

Closes gh-27071
2021-06-24 00:03:16 -07:00
Phillip Webb fe34bcdd52 Merge branch '2.5.x'
Closes gh-27073
2021-06-23 23:33:18 -07:00
Phillip Webb 641dfbdf98 Merge branch '2.4.x' into 2.5.x
Fixes gh-27072
2021-06-23 23:32:50 -07:00
Phillip Webb 5088927f80 Pass ClassLoader to Instantiator
Update `Instantiator` so that it can accept a `ClassLoader` when
creating instances and rework `EnvironmentPostProcessorsFactory` to
use the new methods.

Prior to this commit we would use the `ClassLoader` to get the class
names from `SpringFactories` but not when actually creating the
instances.

Fixes gh-27043
2021-06-23 23:30:53 -07:00
Phillip Webb 6102f10639 Merge branch '2.5.x' 2021-06-23 21:02:36 -07:00
Phillip Webb 2c518f1dff Merge branch '2.4.x' into 2.5.x 2021-06-23 21:02:05 -07:00
Phillip Webb b141fcf51d Merge branch '2.5.x'
Closes gh-27061
2021-06-23 21:01:05 -07:00
Phillip Webb 84fab65b9a Merge branch '2.4.x' into 2.5.x
Closes gh-27060
2021-06-23 21:00:46 -07:00
Phillip Webb ea62967ef4 Improve "reason" message in BindFailureAnalyzer
Update `BindFailureAnalyzer` so that the "Reason" message includes
the root cause exception type and message.

Closes gh-27028
2021-06-23 20:54:01 -07:00
Phillip Webb 0e28e24123 Rethrow ConverterNotFoundException when possible
Update `BindConverter` to throw the first `ConversionFailedException`
rather than always throwing `ConverterNotFoundException`.

See gh-27028
2021-06-23 20:53:35 -07:00
Phillip Webb fe95c2a80c Merge branch '2.5.x'
Closes gh-27059
2021-06-23 17:47:19 -07:00
Phillip Webb a77e116c03 Merge branch '2.4.x' into 2.5.x
Closes gh-27058
2021-06-23 17:47:08 -07:00
Phillip Webb 93d316ddd1 Add additional ConfigDataProperties tests
Add more `isActive` tests to cover negative cases.

See gh-27017
2021-06-23 17:46:23 -07:00
fengyuanwei b91c66b823 Fix typo in ConfigDataPropertiesTests
See gh-27017
2021-06-23 17:38:46 -07:00
Andy Wilkinson 515072b2e1 Merge branch '2.5.x'
Closes gh-27018
2021-06-22 10:29:42 +01:00
Andy Wilkinson cf940fd374 Disable Log4j2's shutdown hook by default
Previously, Log4j2's own shutdown hook was only disabled when Log4j2
detected javax.servlet.Servlet on the classpath and, therefore,
determined that it was running in a web application. In an application
without Servlet on the classpath, this could lead to both Log4j2's shut
down hook and and logging system's shutdown handler both stopping
Log4j2. This could result in a failure as the second attempt at stopping
would result in reinitialization which would fail as the JVM is already
shutting down.

This commit introduces a new Log4j2 PropertySource implementation,
registered via META-INF/services, that sets the
log4j.shutdownHookEnabled property to false. This will ensure that
Log4j2's own shutdown hook is disabled by default whenever Spring Boot
is on the classpath and not just in Servlet-based web applications.

Fixes gh-26953
2021-06-22 10:17:25 +01:00
Stephane Nicoll 142a68292c Merge branch '2.5.x'
Closes gh-27011
2021-06-22 08:21:41 +02:00
Stephane Nicoll 168478f68c Merge branch '2.4.x' into 2.5.x
Closes gh-27010
2021-06-22 08:21:31 +02:00
Sviatoslav Hryb 2252deb69b Document uuid support in RandomValuePropertySource
See gh-26975
2021-06-22 08:16:55 +02:00
Phillip Webb 86dc156162 Merge branch '2.5.x'
Closes gh-27006
2021-06-21 18:37:43 -07:00
Phillip Webb f914dc15fc Merge branch '2.4.x' into 2.5.x
Closes gh-27005
2021-06-21 18:37:08 -07:00
Phillip Webb 8189e82c02 Allow nested profile-specific resolution
Effectively revert commit 0da0d2d46 so that the `resolveProfileSpecific`
method of `ConfigDataLocationResolver` is again called when resolving
imports declared in a profile-specific file.

Fixes gh-26960
2021-06-21 18:30:03 -07:00
Andy Wilkinson a983a4ae07 Merge branch '2.5.x'
Closes gh-26989
2021-06-21 12:07:06 +01:00
Andy Wilkinson 580b1b81ab Fix HTTP/2 over TLS with Jetty 10
Fixes gh-26988
2021-06-21 12:06:10 +01:00
Scott Frederick fffe2e4f97 Include caller info in NoSuchMethodError failure analysis
Fixes gh-26895
2021-06-17 13:46:51 -05:00
Andy Wilkinson b1c04e91d7 Merge branch '2.5.x'
Closes gh-26951
2021-06-17 19:43:57 +01:00
Andy Wilkinson 5d20edc666 Allow BFPP to modify database initialization ordering
Fixes gh-26899
2021-06-17 18:08:39 +01:00
Andy Wilkinson 69b730521a Merge branch '2.5.x'
See gh-26936
2021-06-17 11:55:26 +01:00
Andy Wilkinson 566a642ce7 Merge branch '2.4.x' into 2.5.x
See gh-26935
2021-06-17 11:54:54 +01:00
Andy Wilkinson 204dd29c51 Fix test on Windows
See gh-26821
2021-06-17 11:54:24 +01:00
Andy Wilkinson 2d44119894 Merge branch '2.5.x'
Closes gh-26943
2021-06-17 11:43:15 +01:00
Andy Wilkinson 7ee3b287e1 Catch isEmbedded failure and treat database as not embedded
Fixes gh-26926
2021-06-17 11:42:26 +01:00
Andy Wilkinson fb8f7afce5 Merge branch '2.5.x'
Closes gh-26942
2021-06-17 11:24:28 +01:00
Andy Wilkinson 7cd2d6474c Only check database's type when there are scripts to apply
Fixes gh-26925
2021-06-17 09:55:33 +01:00
Phillip Webb 7bd6611e4c Merge branch '2.5.x'
Closes gh-26940
2021-06-16 22:43:52 -07:00
Phillip Webb c3b873c11d Merge branch '2.4.x' into 2.5.x
Closes gh-26939
2021-06-16 22:43:13 -07:00
Phillip Webb b5c92d5174 Allow indirect standard profile-specific imports
Effectively revert commit d1b256a169 so that profile-specific imports
can again be used with or without a parent import.

Fixes gh-26858
2021-06-16 22:30:29 -07:00
Scott Frederick 256a523e84 Merge branch '2.5.x'
Closes gh-26936
2021-06-16 16:00:09 -05:00
Scott Frederick 79f47b150a Merge branch '2.4.x' into 2.5.x
Closes gh-26935
2021-06-16 15:59:38 -05:00
Scott Frederick 5147fcacdf Improve BeanNotOfRequiredTypeFailureAnalyzer output
This commit modifies the output of BeanNotOfRequiredTypeFailureAnalyzer
to include type information for both the actual and the required types
and to remove ambiguity.

Fixes gh-26821
2021-06-16 14:44:11 -05:00
Stephane Nicoll caa87f1a90 Merge branch '2.5.x'
Closes gh-26911
2021-06-15 08:24:30 +02:00
izeye eeefaf4314 Fix Javadoc deprecated since
See gh-26907
2021-06-15 08:23:13 +02:00
Stephane Nicoll d5d23d73e7 Polish "Allow SpringApplicationBuilder to specify a ResourceLoader"
See gh-26690
2021-06-14 08:17:52 +02:00
Jamin Hitchcock 7b0ba35025 Allow SpringApplicationBuilder to specify a ResourceLoader
See gh-26690
2021-06-14 08:17:02 +02:00
Andy Wilkinson f3f119b111 Don't shutdown logging system before contexts
Add `SpringApplicationShutdownHook` to manage orderly application
shutdown, specifically around the `LoggingSystem`. `SpringApplication`
now offers a `getShutdownHandlers()` method that can be used to add
handlers that are guaranteed to only run after the `ApplicationContext`
has been closed and is inactive.

Fixes gh-26660
2021-06-10 07:56:48 -07:00
Phillip Webb 2835085ffb Polish 2021-06-10 00:21:38 -07:00
Phillip Webb 17671980dc Merge branch '2.4.x' 2021-06-10 00:15:48 -07:00
Phillip Webb 7c4f178c17 Merge branch '2.3.x' into 2.4.x 2021-06-10 00:15:28 -07:00
Phillip Webb 3b48526732 Polish 2021-06-10 00:12:34 -07:00
Andy Wilkinson c5728c9560 Merge branch '2.4.x'
Closes gh-26827
2021-06-09 09:13:21 +01:00
Andy Wilkinson 303edac6bb Merge branch '2.3.x' into 2.4.x
Closes gh-26826
2021-06-09 09:13:06 +01:00
Andy Wilkinson d1e1796f76 Consider overridden getRootUri() when getting root URI
Fixes gh-26812
2021-06-09 09:12:37 +01:00
Phillip Webb f798f26596 Merge branch '2.4.x' 2021-06-08 18:05:50 -07:00
Phillip Webb 4d62e47c5d Merge branch '2.3.x' into 2.4.x 2021-06-08 18:05:12 -07:00
Phillip Webb 9e1c78da99 Update copyright year of changed files 2021-06-08 18:03:46 -07:00
Phillip Webb b7ac1e6cd7 Rename derivefrom to align with DataSourceBuilder
Rename the `derivefrom` method in `ConnectionFactoryBuilder` to
`derivedFrom` to align with `DataSourceBuilder`.

Fixes gh-26810
2021-06-08 15:44:01 -07:00
Phillip Webb 6ab2df5698 Order DataSourceScriptDatabaseInitializer last
Change the order of `DataSourceScriptDatabaseInitializerDetector` so
that it always runs last. This update allows script initialization to
be combined with a high-level migration tool such as Flyway.

Closes gh-26692
2021-06-08 14:10:59 -07:00
Phillip Webb dafd511284 Support DatabaseInitializerDetector ordering
Update `DatabaseInitializationDependencyConfigurer` so that depends-on
ordering is applied based on the `DatabaseInitializerDetector` order.

Prior to this commit, if multiple DatabaseInitializer beans were
detected the order in which they were initialized was not defined.

See gh-26692
2021-06-08 14:10:55 -07:00
Andy Wilkinson 8df6392ca5 Polish
The use of the file's absolute path caused test failures on Windows.

See gh-26682
2021-06-08 18:28:09 +01:00
Andy Wilkinson c52143727a Reinstate mode for controlling DB initialization
Closes gh-26682
2021-06-08 15:13:55 +01:00
Stephane Nicoll faeda6f917 Polish 2021-06-08 10:32:50 +02:00
Phillip Webb f5b93da90f Fix conversion failures when using DefaultResolver
Update `ConfigurationPropertySourcesPropertyResolver` so that calls to
the `DefaultResolver` do not attempt conversion.

Prior to this commit, the delegate resolver was accidentally called
with the target type which could cause a `ConversionFailedException`
to be thrown. We should have always used `Object.class` and let the
`convertValueIfNecessary` method perform conversion.

Fixes gh-26732
2021-06-07 22:07:22 -07:00
Phillip Webb be23a29651 Polish 2021-06-07 20:44:23 -07:00
Phillip Webb abd926788f Merge branch '2.4.x'
Closes gh-26782
2021-06-06 21:53:10 -07:00
Phillip Webb 7396e1e743 Fix property ordering within '.' and '/config'
Allow groups to be used with standard locations so that order of
profile-specific files is consistent.

Prior to this commit, the default search locations considered for
application properties/yaml files was the following:

	optional:classpath:/
	optional:classpath:/config/
	optional:file:./
	optional:file:./config/
	optional:file:./config/*/

Each of these locations was independent which could cause confusion
if certain combinations were used. For example, if profile-specific
files were added to `classpath:/` and `classpath:/config/` then the
latter would always override the former regardless of the profile
ordering.

This commit updates `StandardConfigDataLocationResolver` so that a
group of locations can be specified for each item. This allows us to
define the following set of search locations which provide more logical
ordering for profile-specific files

	optional:classpath:/;optional:classpath:/config/
	optional:file:./;optional:file:./config/;optional:file:./config/*/

Closes gh-26593
2021-06-06 21:05:54 -07:00
Phillip Webb e73062aefa Merge branch '2.4.x'
Closes gh-26755
2021-06-03 22:24:17 -07:00
Phillip Webb 0da0d2d469 Prevent nested profile-specific resolution
Update the `ConfigDataEnvironment` so that the `resolveProfileSpecific`
method of `ConfigDataLocationResolver` is no longer called when
resolving imports declared in a profile-specific file.

Fixes gh-26753
2021-06-03 22:24:01 -07:00
Phillip Webb 3c7a0d3bf2 Merge branch '2.4.x'
Closes gh-26754
2021-06-03 22:23:27 -07:00
Phillip Webb d1b256a169 Prevent indirect standard profile-specific imports
Update `StandardConfigDataLocationResolver` so that profile-specific
imports can only be used when there is no parent import.

Prior to this commit, given the following application.properties file:

	spring.profiles.active=p1,p2
	spring.config.import=other.properties

We would attempt to import `other.properties`, `other-p1.properties`
and `other-p2.properties`. This seems quite confusing and when we really
only need to support profile-specific properties for the initial root
set of locations.

Fixes gh-26752
2021-06-03 22:22:44 -07:00
Madhura Bhave e2cba40db0 Merge branch '2.4.x' into main
Closes gh-26739
2021-06-02 12:02:53 -07:00
Madhura Bhave b102fdd392 Merge branch '2.3.x' into 2.4.x
Closes gh-26738
2021-06-02 12:02:11 -07:00
Madhura Bhave 15324956a8 Align int and long in RandomValuePropertySource
This commit aligns int and long so that a random number is generated
by delegating to ints/longs in the JDK's Random API. In the case of a
single bound value, it needs to be greater than 0 because 0 is used as
the lower bound.

Fixes gh-26628
2021-06-02 12:00:25 -07:00
Stephane Nicoll 97c5a08ca5 Merge branch '2.4.x'
Closes gh-26725
2021-06-01 15:38:48 +02:00
Stephane Nicoll c8959180fe Merge branch '2.3.x' into 2.4.x
Closes gh-26724
2021-06-01 15:38:27 +02:00
Stephane Nicoll 7e4defbcba Properly guard LogbackLoggingSystem
Previously, LoggingSystem#get would chose Logback by the sole presence
of a class in logback-core, with the assumption that logback-classic is
also on the classpath. An app that only had the former would therefore
fail.

This commit updates the condition to check for a class in
logback-classic instead.

Closes gh-26711
2021-06-01 15:35:22 +02:00
Phillip Webb 42865daca9 Merge branch '2.4.x' 2021-05-27 11:49:42 -07:00
Phillip Webb 8661f74f2e Revert "Test optional directories without sub-directories"
This reverts commit 3f858ed8a4
since the test already existed.
2021-05-27 11:48:58 -07:00
Phillip Webb 91eb37dd84 Merge branch '2.4.x'
Closes gh-26679
2021-05-26 21:33:18 -07:00
Phillip Webb 3f858ed8a4 Test optional directories without sub-directories
Add an additional test to ensure that optional wildcard
directory patterns do not fail.

See gh-26677
2021-05-26 21:31:14 -07:00
izeye 38b9a833bd Fix "Allow optional directories without sub-directories"
Fix the update to `resolvePatternEmptyDirectories` introduced in
commit 01dd68e29e which was incorrectly checking `isOptional`.

See gh-26677
2021-05-26 21:19:05 -07:00
Phillip Webb 1a10162777 Change state change logging to DEBUG
Update `ApplicationAvailabilityBean` so that state change logging is
at DEBUG rather than INFO.

Fixes gh-26624
2021-05-26 16:31:35 -07:00
Phillip Webb 78ac7b3861 Polish 2021-05-26 16:19:26 -07:00
Phillip Webb b6d31fb6a1 Use correct type for deriveFromProperties
Fix `DataSourceBuilder` so that the type used to access `deriveFrom`
properties is based on the actual instance type rather than the
user-defined type which could have been changed.

Fixes gh-26644
2021-05-26 15:55:10 -07:00
Scott Frederick eed620fc80 Allow `driverClassName` to be optional
Update `DataSourceBuilder` so that the `driverClassName` may be optional
and silently ignored if it set but the underlying type does not have
a getter/setter.

This restores Spring Boot 2.4 behavior.

Fixes gh-26631

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2021-05-26 15:52:32 -07:00
Scott Frederick c679b4ccd6 Don't attempt to set null values
Update `DataSourceBuilder` so that setters are not longer called for
`null` values. This restores Spring Boot 2.4 behavior.

Fixes gh-26633

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2021-05-26 15:52:27 -07:00
Scott Frederick a31e976ec6 Support fallback URL properties
Update `DataSourceBuilder` so that the url property attempts both
`getUrl()` / `setUrl(...)` and `getURL()`/`setURL(...)`.

Fixes gh-26647

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2021-05-26 15:52:18 -07:00
Scott Frederick 7d6093680d Polish 2021-05-26 15:51:30 -07:00
Phillip Webb 249c675fff Merge branch '2.4.x'
Closes gh-26672
2021-05-25 19:37:14 -07:00
Andy Wilkinson 01dd68e29e Allow optional directories without sub-directories
Update `StandardConfigDataLocationResolver` so that directory resources
are only required when the location is not optional.

Closes gh-26627

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2021-05-25 19:36:50 -07:00
Stephane Nicoll 3c6bf14c16 Polish 2021-05-25 16:46:05 +02:00
Stephane Nicoll d5b41e288f Merge branch '2.4.x'
Closes gh-26654
2021-05-25 10:37:49 +02:00
Stephane Nicoll 9ff372c915 Merge branch '2.3.x' into 2.4.x
Closes gh-26653
2021-05-25 10:37:40 +02:00
Stephane Nicoll b5ebf836e3 Document spring.profiles.default
Closes gh-26592
2021-05-25 10:32:59 +02:00
Madhura Bhave 110c36e607 Merge branch '2.4.x' into main
Closes gh-26610
2021-05-19 13:21:39 -07:00
Madhura Bhave 80610fa250 Restore order of additional and active profiles
This commit restores the order of additional and active profiles
so that active profiles now take precedence.

Fixes gh-26189
2021-05-19 13:21:03 -07:00
Andy Wilkinson 879f362c29 Merge branch '2.4.x'
Closes gh-26608
2021-05-19 19:04:45 +01:00
Andy Wilkinson 64e76badc2 Merge branch '2.3.x' into 2.4.x
Closes gh-26607
2021-05-19 19:03:12 +01:00
Andy Wilkinson b6e860b2d4 Prevent Jetty from delaying shutdown beyond grace period
Fixes gh-22689
2021-05-19 19:02:24 +01:00
Andy Wilkinson 66d087877d Merge branch '2.4.x'
Closes gh-26606
2021-05-19 16:46:27 +01:00
Andy Wilkinson 6874c42d3c Merge branch '2.3.x' into 2.4.x
Closes gh-26605
2021-05-19 16:46:09 +01:00
Andy Wilkinson 2a89b11df3 Exclude SmartInitializingSingletones from lazy initialization
Fixes gh-26470
2021-05-19 16:26:48 +01:00
Phillip Webb 5c28f8f6a8 Merge branch '2.4.x'
Closes gh-26585
2021-05-17 21:35:04 -07:00
Phillip Webb 0e3ef4071e Allow optional ConfigDataLocationResolver results
Update `ConfigData` so that it signal if is considered optional. This
update allows `ConfigDataLocationResolvers` to return results that
behave in the same way as `optional:` prefixed locations without the
user themselves needing to prefix the location string.

Closes gh-25894
2021-05-17 21:31:58 -07:00
Phillip Webb ba0fe1edbd Merge branch '2.4.x'
Closes gh-26581
Closes gh-26582
Closes gh-26583
2021-05-17 16:28:52 -07:00
Madhura Bhave c45bb2bd95 Handle empty locations from patterns
Update `StandardConfigDataLocationResolver` to deal with patterns when
resolving empty directories. This update also fixes the handling of
mandatory pattern locations which would previously throw an exception.

The error message returned when a location with a pattern does not
contain any subdirectories has also been improved.

Fixes gh-26468
Fixes gh-26577
Fixes gh-26415
2021-05-17 16:23:46 -07:00
Phillip Webb 2bbad94910 Restore hasProgrammaticallySetProfiles code
Restore code lost on merge.

See gh-26580
2021-05-17 15:34:45 -07:00
Phillip Webb 634d27679a Merge branch '2.4.x'
Closes gh-26580
2021-05-17 13:30:33 -07:00
Madhura Bhave cfa26735d2 Merge programmatically set active profiles
Update `Profiles` so that any profiles set programmatically on the
`Environment` are merged with `spring.profiles.active` properties.

Fixes gh-26151

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2021-05-17 13:29:12 -07:00
Stephane Nicoll e9174c1e3d Update copyright year of changed files
See gh-26478
2021-05-17 16:08:20 +02:00
weixsun 935199b6ba Polish AbstractServletWebServerFactory
See gh-26478
2021-05-17 16:08:19 +02:00
Andy Wilkinson d41fa13463 Merge branch '2.4.x'
Closes gh-26575
2021-05-17 14:39:35 +01:00
Andy Wilkinson 4eab9476a6 Polish "Detect use of spring.profiles.include as a YAML list"
See gh-26205
2021-05-17 14:13:29 +01:00
ChangYong 80ad6385f1 Detect use of spring.profiles.include as a YAML list
See gh-26205
2021-05-17 14:04:51 +01:00
Andy Wilkinson 4517f6057e Merge branch '2.4.x'
Closes gh-26573
2021-05-17 13:50:13 +01:00
Andy Wilkinson 1d5abf5af7 Merge branch '2.3.x' into 2.4.x
Closes gh-26572
2021-05-17 13:49:25 +01:00
Andy Wilkinson eecb7dd101 Remove stale jboss-transaction-spi dependencies
Closes gh-26569
2021-05-17 13:49:16 +01:00
Andy Wilkinson d3e8d1533f Upgrade to R2DBC Bom Arabba-SR10
Closes gh-26563
2021-05-17 13:39:58 +01:00
Stephane Nicoll d3c817b7ba Polish "Remove unnecessary throws declaration in tests"
See gh-26441
2021-05-17 09:36:53 +02:00
weixsun 8a2be288a3 Remove unnecessary throws declaration in tests
See gh-26441
2021-05-17 09:31:51 +02:00
Stephane Nicoll 691bbcfdfd Update copyright year of changed files
See gh-26448
2021-05-16 15:29:48 +02:00
weixsun d115361980 Remove redundant suppression
See gh-26448
2021-05-16 15:10:48 +02:00
weixsun aa8323f915 Remove unused imports
See gh-26477
2021-05-16 15:03:36 +02:00
Andy Wilkinson a3d68e29c2 Merge branch '2.4.x'
Closes gh-26463
2021-05-14 13:45:46 +01:00
Andy Wilkinson 9f279e0e96 Merge branch '2.3.x' into 2.4.x
Closes gh-26462
2021-05-14 13:45:29 +01:00
Andy Wilkinson 5984d4ee2b Index @ConfigurationProperties so they can be found by scanning
Previously, @ConfigurationProperties was not annotated with @Indexed.
This meant that @ConfigurationPropertiesScan would not be able to
find them when the underlying
ClassPathScanningCandidateComponentProvider is using a
CandidateComponentsIndex.

This commit annotated @ConfigurationProperties with @Indexed so that
they can be found by index-based scanning.

Fixes gh-26459
2021-05-14 13:41:24 +01:00
Phillip Webb 83668f96af Merge branch '2.4.x'
Closes gh-26458
2021-05-13 23:38:41 -07:00
Phillip Webb 73131e99da Make BufferingApplicationStartup thread safe
Update `BufferingApplicationStartup` to use thread safe data structures.

Prior to this commit, it was possible for calls from different threads
(for example due to request scope beans) to cause a
NoSuchElementException to be thrown.

Closes gh-25792
2021-05-13 23:35:36 -07:00
Andy Wilkinson 89b5ece9b4 Use resource loader's class loader in config loading
Previously, classes involved in config loading used a variety of
potentially different class loaders when calling SpringFactoriesLoader.
Some classes would use their own class loader and others would use null
which results in SpringFactoriesLoader's class loader being used.

This commit updates the config loading classes to consistently use the
resource loader's class loader.

Fixes gh-26126
2021-05-13 13:25:47 +01:00
Madhura Bhave eff024b0ce Polish "Process additional profiles before config files processing"
See gh-25817
2021-05-11 15:04:34 -07:00
nguyensach 97fd9a7c77 Process additional profiles before config files processing
Additional profiles were being processed after config file processing
when legacy processing was used.
This commit also restores the order in which additional profiles are added
when legacy processing is used.
Active profiles take precedence over additional profiles.

See gh-25817
2021-05-11 15:03:36 -07:00
Madhura Bhave 38ef6b5644 Merge pull request #25817 from nguyensach
* pr/25817:
  Polish "Process additional profiles before config files processing"
  Process additional profiles before config files processing

Closes gh-25817
2021-05-11 14:46:12 -07:00
Madhura Bhave 2e1b20ce2b Polish "Process additional profiles before config files processing"
See gh-25817
2021-05-11 13:06:46 -07:00
nguyensach 6f266145c7 Process additional profiles before config files processing
Additional profiles were being processed after config file processing
when legacy processing was used.
This commit also restores the order in which additional profiles are added
when legacy processing is used.
Active profiles take precedence over additional profiles.

See gh-25817
2021-05-11 13:05:48 -07:00
Phillip Webb ba1e5fb5e8 Merge branch '2.4.x'
Closes gh-26402
2021-05-06 19:50:52 -07:00
Phillip Webb efad44be43 Refine mandatory location checking logic
Update `ConfigDataEnvironment.checkMandatoryLocations` to use the
actual locations that were imported, including those that were skipped
because the related `ConfigDataResource` had already been imported by a
different location.

Prior to this commit, any location that was skipped because it had
already been imported would throw a `ConfigDataNotFoundException`.

Closes gh-26147

Co-authored-by: Scott Frederick <sfrederick@vmware.com>
Co-authored-by: Madhura Bhave <mbhave@vmware.com>
2021-05-06 19:50:41 -07:00
Phillip Webb 777abc4aac Merge branch '2.4.x'
Closes gh-26401
2021-05-06 19:50:17 -07:00
Phillip Webb fef62f784a Import profile specific files in correct order
Update `StandardConfigDataLoader` to mark profile specific files with
`Option.PROFILE` so that they are added in the correct order. This is
a variation of the same issue described in commit 5774ea3f0c.

Closes gh-26400

Co-authored-by: Scott Frederick <sfrederick@vmware.com>
Co-authored-by: Madhura Bhave <mbhave@vmware.com>
2021-05-06 19:43:40 -07:00
Scott Frederick 922517c0e5 Polish 2021-05-06 19:43:31 -07:00
Scott Frederick 0893df4a01 Merge branch '2.4.x'
Closes gh-26346
2021-05-03 14:53:41 -05:00
Scott Frederick dbee0cf9f1 Ignore empty values in config location properties
This commit updates config data property binding to ignore empty
elements in `spring.config.location` and `spring.config.import`
property values when a value is a comma-delimited string
representing a collection.

Fixes gh-26342
2021-05-03 14:52:22 -05:00
Stephane Nicoll 3475e01cda Merge branch '2.4.x'
Closes gh-26323
2021-04-30 13:32:56 +02:00
Stephane Nicoll 4ccce2a74f Merge branch '2.3.x' into 2.4.x
Closes gh-26322
2021-04-30 13:32:40 +02:00
Stephane Nicoll a6e59b357f Polish "Improve failure analysis with a single bean cycle"
See gh-26292
2021-04-30 13:30:58 +02:00
Roman Zabaluev 044c902a8c Improve failure analysis with a single bean cycle
See gh-26292
2021-04-30 13:18:13 +02:00
Stephane Nicoll 4febe6485c Merge branch '2.4.x'
Closes gh-26318
2021-04-30 08:53:31 +02:00
Stephane Nicoll 63d486158d Merge branch '2.3.x' into 2.4.x
Closes gh-26317
2021-04-30 08:53:20 +02:00
Stephane Nicoll 3f528bb0eb Mark SpringBootConfiguration as Indexed
Previously, users of the components.index could not use the index in
scenario where Spring Boot needs to locate the SpringBootConfiguration
to use to bootstrap the test context, as AnnotatedClassFinder scans
the classpath for that stereotype specifically and that requires a
dedicated entry for it.

This commit makes sure that a SpringBootConfiguration-annotated type has
a dedicated entry in the components index.

Closes gh-26308
2021-04-30 08:47:45 +02:00
Andy Wilkinson 31b650093d Merge branch '2.4.x'
Closes gh-26251
2021-04-27 11:56:48 +01:00
Andy Wilkinson ffc06e1e30 Merge branch '2.3.x' into 2.4.x
Closes gh-26250
2021-04-27 11:51:29 +01:00
Andy Wilkinson 715c4febf9 Update maformed address to one that should fail on CI
Closes gh-26247
2021-04-27 11:50:52 +01:00
Phillip Webb 1e0a3a946d Fix binding random properties test
See gh-26201
2021-04-26 17:36:58 -07:00
Phillip Webb ba5b36d733 Restore support for binding random properties
Revert 0588e989af so that `@ConfigurationProperties` can again be
bound using values from the `RandomValuePropertySource`.

Fixes gh-26201
2021-04-26 15:42:15 -07:00
Stephane Nicoll 3ca6ed6246 Polish
Closes gh-26190
2021-04-21 17:20:22 +02:00
Stephane Nicoll 55b9fc12c7 Merge branch '2.4.x'
Closes gh-26165
2021-04-20 10:23:57 +02:00
Stephane Nicoll 52543b84c1 Fix sourceType for spring.profiles.include
Closes gh-26163
2021-04-20 10:23:42 +02:00
Stephane Nicoll cf5334da35 Merge branch '2.4.x'
Closes gh-26164
2021-04-20 10:22:55 +02:00
Stephane Nicoll 2bd4ccce8a Document spring.profiles.group in configuration metadata
Closes gh-26127
2021-04-20 10:22:43 +02:00
izeye e53453c69c Fix broken assertions in tests
This commit also restores the HTTP response body
assertion that has been dropped in 5873ddd.

See gh-26162
2021-04-20 10:02:26 +02:00
Andy Wilkinson 177152e007 Merge branch '2.4.x'
Closes gh-26155
2021-04-19 10:24:25 +01:00
Andy Wilkinson 0c30a5930d Polish "Use ConfigDataLocationResolvers' class loader to load resolver names"
See gh-26149
2021-04-19 10:23:27 +01:00
Sriram 4268f8da84 Use ConfigDataLocationResolvers' class loader to load resolver names
See gh-26149
2021-04-19 10:06:07 +01:00
Stephane Nicoll bac101647a Polish contribution
See gh-25532
2021-04-16 09:29:48 +02:00
katielevy1 bd9dd9d5eb Polish KotlinConstructorParametersBinderTests
See gh-25532
2021-04-16 09:22:45 +02:00
Phillip Webb e1ad2cdab3 Fix Windows build failures
See gh-23098
2021-04-15 18:31:01 -07:00
Phillip Webb beaf03a008 Update copyright year of changed files 2021-04-15 12:22:48 -07:00
Phillip Webb 238d0fed71 Improve Log4J log level reset support
Update `Log4J2LoggingSystem` so that call to `setLevel` with a `null`
level with remove the logger if it was previously configured by a
`LoggingSystem` call.

To track which loggers have been configured by us, and which have been
configure directly by the user, a custom `LoggerConfig` subclass is
used. We'll only remove `LevelSetLoggerConfig` classes, for any others
we'll call `setLevel(null)` on the config.

Prior to this commit, it was impossible to set then reset a logger
level using the actuator endpoint. This is because Log4J doesn't provide
a way to get the actual configured level. If the `setLevel(null)` has
been applied, then `getLevel()` will return the value of the parent
logger or a default value of `ERROR`.

Fixes gh-24298
2021-04-15 12:22:24 -07:00
Phillip Webb 96823869a9 Merge branch '2.4.x'
Closes gh-26139
2021-04-15 12:02:01 -07:00
Phillip Webb 302d500ee9 Add StandardConfigDataResource.getProfile method
Add a `StandardConfigDataResource.getProfile()` method so that it's
possible to tell the profile used when reading a profile specific
resource.

Fixes gh-25940
2021-04-15 12:01:34 -07:00
izeye e27c85698d Polish
See gh-26135
2021-04-15 16:31:10 +02:00
Phillip Webb 282a8e09d0 Merge branch '2.4.x'
Closes gh-26125
2021-04-14 17:43:12 -07:00
Phillip Webb 5b836f3aee Merge branch '2.3.x' into 2.4.x
Closes gh-26124
2021-04-14 17:42:38 -07:00
Phillip Webb 61ff3c98bf Polish 'Don't detect CloudPlatform when property is set'
See gh-25455
2021-04-14 17:29:30 -07:00
nguyensach 70f44d3a56 Don't detect CloudPlatform when property is set
Update `CloudPlatform.isActive` to back-off from detection when any
`spring.main.cloud-platform` property is set.

See gh-25455
2021-04-14 17:24:37 -07:00
Scott Frederick bf8051cd47 Log ApplicationAvailability state changes
Fixes gh-23098
2021-04-14 13:54:59 -05:00
Phillip Webb 51c3e18011 Support binding with BeanFactory ConversionService
Update `BindConverter` so that multiple `ConverterServices` can be
specified when binding. This change allows `ConversionServiceDeducer`
to add both the `BeanFactory` conversion service as well as a
custom `ApplicationConversionService` when beans annotated with
`@ConfigurationPropertiesBinding` are found.

Fixes gh-26089
2021-04-13 19:13:06 -07:00
Phillip Webb 5581ec0e29 Make getSharedInstance() unmodifiable
Update `ApplicationConversionService.getSharedInstance()` so that the
instance returned is unmodifiable and converters cannot be added or
removed from it.

Closes gh-26088
2021-04-13 19:13:03 -07:00
Andy Wilkinson 4cbe6836a0 Polish o.s.b.liquibase package-info 2021-04-13 20:09:38 +01:00
Andy Wilkinson 5873dddc1c Attempt to stabilise web server tests that use h2c
Apache HttpClient 5.1 doesn't cope with Jetty 10 sending
SETTINGS_ENABLE_CONNECT_PROTOCOL in the settings frame. It also appears
to be unstable when using Undertow, resulting in a failure and
"UT005032: Listener not making progress on framed channel, closing
channel to prevent infinite loop" being logged on the server-side.

Local experimentation suggests that Jetty's HTTP/2 client is more
robust and that it does not trigger the problem with Undertow. It also
fixes the problem with SETTINGS_ENABLE_CONNECT_PROTOCOL when testing
against Jetty 10 so this commit updates the tests to use Jetty's client.

Closes gh-26040
2021-04-13 16:15:49 +01:00
Andy Wilkinson 059c4fbd43 Test JettyReactiveWebServerFactory against Jetty 10
Closes gh-26039
2021-04-13 12:18:29 +01:00
Andy Wilkinson 252d4e98c5 Test that HTTP/1.1 still works when HTTP/2 is enabled
See gh-25856
2021-04-13 11:19:44 +01:00
Andy Wilkinson 74b91b78fe Temporarily disable h2c tests with Jetty 10
Closes gh-26038
2021-04-13 10:25:18 +01:00
Andy Wilkinson 713c0fce7c Auto-configure H2C when HTTP/2 is enabled and SSL is disabled 2021-04-12 17:16:14 +01:00
dreis2211 ea55ca9971 Remove unused method parameters
See gh-25986
2021-04-12 08:40:13 +02:00
izeye 4987880afa Polish
See gh-25980
2021-04-12 08:37:02 +02:00
Stephane Nicoll 4290e0792b Start building against Spring Framework 5.3.6 snapshots
See gh-25926
2021-04-09 08:56:37 +02:00
Phillip Webb 7056a95ffc Polish 'Support system-dependent path separators'
See gh-24490
2021-04-08 20:49:02 -07:00
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
2021-04-08 20:42:35 -07:00
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
2021-04-08 20:29:54 -07:00
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
2021-04-08 20:29:48 -07:00
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
2021-04-08 13:21:14 -07:00
Stephane Nicoll f1b2db03e0 Start building against Spring Framework 5.3.6 snapshots
See gh-25909
2021-04-08 18:02:03 +02:00
Brian Clozel b4d2207902 Merge branch '2.4.x'
Closes gh-25936
2021-04-08 17:45:42 +02:00
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
2021-04-08 17:09:31 +02:00
Stephane Nicoll b52902e92a Merge branch '2.4.x'
Closes gh-25923
2021-04-08 10:14:03 +02:00
Stephane Nicoll c6205f10f1 Merge branch '2.3.x' into 2.4.x
Closes gh-25922
2021-04-08 10:13:45 +02:00
Stephane Nicoll 25b7495d8e Polish "Properly close input streams when loading key stores"
See gh-25884
2021-04-08 09:25:03 +02:00
Alex Belyaev 1e3f5c342b Properly close input streams when loading key stores
See gh-25884
2021-04-08 09:21:58 +02:00
Andy Wilkinson 4d31182123 Polish "Add detection of Azure App Service to CloudPlatform"
See gh-25829
2021-04-07 12:34:54 +01:00
Julien Dubois 98a1017ee7 Add detection of Azure App Service to CloudPlatform
See gh-25829
2021-04-07 12:34:49 +01:00
Phillip Webb 807ea1af0d Update copyright year of changed files 2021-04-06 14:59:52 -07:00
Phillip Webb a99f78c62f Merge branch '2.4.x' 2021-04-05 18:19:27 -07:00
Phillip Webb 8a04547454 Fix checkstyle violation
See gh-25766
2021-04-05 18:18:52 -07:00
Phillip Webb c6cd5117d4 Merge branch '2.4.x'
Closes gh-25887
2021-04-05 17:24:02 -07:00
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
2021-04-05 15:55:03 -07:00
Stephane Nicoll dd916f908f Merge branch '2.4.x'
Closes gh-25880
2021-04-04 11:19:13 +02:00
Stephane Nicoll db3dfffdca Polish contribution
See gh-25875
2021-04-04 11:15:49 +02:00
izeye 852e5778a3 Polish
See gh-25875
2021-04-04 11:12:03 +02:00
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
2021-04-01 21:09:46 +02:00
Andy Wilkinson df4b1ffb0d Merge branch '2.4.x'
Closes gh-25837
2021-03-30 20:42:41 +01:00
Andy Wilkinson 38a4f135a9 Merge branch '2.3.x' into 2.4.x
Closes gh-25836
2021-03-30 20:42:29 +01:00
Andy Wilkinson ca9a619259 Defer processing of zipTree source until execution time
Closes gh-25835
2021-03-30 20:41:46 +01:00
Phillip Webb 8c31d29acf Merge branch '2.4.x' 2021-03-30 09:29:59 -07:00
Phillip Webb a28a3ae090 Merge branch '2.3.x' into 2.4.x 2021-03-30 09:25:46 -07:00
Phillip Webb 9c8a97809d Consistent use of @deprecated since
Restore the patch version number for consistency with `@since`
tags.

See gh-25808
2021-03-30 09:20:30 -07:00
Phillip Webb 44b1751bb4 Merge branch '2.4.x'
Closes gh-25826
2021-03-29 15:48:20 -07:00
Phillip Webb 363f5829d1 Merge branch '2.3.x' into 2.4.x
Closes gh-25825
2021-03-29 15:46:50 -07:00
Phillip Webb 26dd1b9a26 Update deprecations with for removal targets
Update all deprecation tags to include a removal target.

Closes gh-25808
2021-03-29 15:44:58 -07:00
Andy Wilkinson f3c9cc85cb Polish
See gh-25818
2021-03-29 20:39:36 +01:00
Andy Wilkinson 9b65409e23 Generalize database initialization detection and include R2DBC
Closes gh-25818
2021-03-29 20:07:54 +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