Commit Graph

2266 Commits

Author SHA1 Message Date
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
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
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
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
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
Andy Wilkinson
ce3dfc5792 Merge branch '2.4.x'
Closes gh-25767
2021-03-23 13:42:15 +00:00
Stephane Nicoll
db782f5013 Add environment prefix support to SpringApplicationBuilder
Closes gh-25740
2021-03-23 14:25:03 +01:00
Andy Wilkinson
33cf8b3bc4 Merge branch '2.3.x' into 2.4.x
Closes gh-25765
2021-03-23 13:06:35 +00:00
Andy Wilkinson
bf6f36a783 Apply any root URI to RestTemplate metric's URI tag
Previously, a root URI configured via RestTemplateBuilder's rootUri
method and RootUriTemplateHandler was not taken into account when
generated the URI tag for RestTemplate request metrics.

This commit updates MetricsClientHttpRequestInterceptor to be aware
of RootUriTemplateHandler and capture the URI template once the
root URI has been applied.

Fixes gh-25744
2021-03-23 13:05:54 +00:00
Andy Wilkinson
f0a8c02efd Provide a constant for graceful shutdown's smart lifecyle phase
In order to provide a single constant for graceful shutdown's smart
lifecycle, this commit replaces the package-private reactive and
servlet-specific implementations with a single public implementation
that can be used by both web stacks. This new public implementation
provides a constant for its smart lifecycle phase.

Closes gh-24255
2021-03-23 11:11:26 +00:00