2382 Commits

Author SHA1 Message Date
Stephane Nicoll
603e65a629 Polish 2020-07-14 16:57:42 +02:00
Stephane Nicoll
c8b67becce Polish "Add additional properties to configure R2DBC pool"
See gh-21219
2020-07-14 16:52:07 +02:00
Rodolpho Couto
0d41596a42 Add additional properties to configure R2DBC pool
See gh-21219
2020-07-14 16:52:07 +02:00
Andy Wilkinson
2642b04073 Merge branch '2.3.x'
Closes gh-22327
2020-07-14 15:00:51 +01:00
dreis2211
60e7146326 Reduce started threads in OnClassCondition
Prior to this commit, OnClassCondition started a thread even if the number of
passed autoconfiguration class candidates never exceeded 1. This commit only
starts a thread if there is actually work to split in half.

See gh-22294
2020-07-14 14:59:53 +01:00
Andy Wilkinson
2af550ef73 Avoid using reflection with manual bean definitions
Closes gh-22318
2020-07-14 14:11:51 +01:00
Brian Clozel
0f264b68e8 Add option to configure PathPatternParser
As of Spring Framework 5.3, it is now possible to use `PathPatternParser`
to parse and match request mapping path patterns, as an alternative to
the current default `AntPathMatcher`.

This new implementation has been used for a while in Spring WebFlux and
it’s been designed for consistency and performance.

This commit introduces a new configuration property for opting-in this
new variant:

`spring.mvc.pathmatch.matching-strategy=path_pattern_parser`

The default option is still `ant_path_matcher` for now, but we might
change the default in future versions since Spring Framework considers
it the best choice for modern applications.

There are several behavior differences with this new variant:

* double wildcards `"**"` are rejected when used in the middle patterns,
this is only allowed as the last matching segment in a pattern.

* it is incompatible with some path matching options, like
suffix-pattern, registered-suffix-pattern or configuring a Servlet
prefix on the `DispatcherServlet` (`spring.mvc.servlet.path=/test`)

This commit introduces two `FailureAnalyzer` implementations to guide
developers when facing those issues.

Closes gh-21694
2020-07-09 21:34:00 +02:00
Andy Wilkinson
553d58a234 Merge branch '2.3.x'
Closes gh-22283
2020-07-09 10:37:18 +01:00
Andy Wilkinson
c765df6e5d Merge branch '2.2.x' into 2.3.x
Closes gh-22282
2020-07-09 10:37:01 +01:00
Andy Wilkinson
afa5b12bdb Make reactive Jetty auto-config back off without jetty-servlet
Fixes gh-22275
2020-07-09 10:36:32 +01:00
Scott Frederick
6b7640ba2e Merge branch '2.3.x'
Closes gh-22272
2020-07-08 15:10:42 -05:00
Scott Frederick
1e2176b6c9 Improve Redis URL validation
This commit improves the validation of URLs provided in the property
'spring.redis.url' used to auto-configure a Spring Data Redis
connection. In particular, only the URL schemes 'redis://' and
'rediss://' are allowed, and any other scheme will result in a
configuration error. A failure analyzer is also provided to improve
diagnostics for common mis-configurations detected by this validation.

Fixes gh-21999
2020-07-08 14:50:26 -05:00
Andy Wilkinson
3e33b6c854 Merge branch '2.3.x'
Closes gh-22263
2020-07-08 17:23:13 +01:00
Andy Wilkinson
502ccb6586 Honor spring.autoconfigure.exclude in test slices
Previously, the import selector for `@ImportAutoConfiguration` did not
consider the spring.autoconfigure.exclude property when determining
which auto-configurations to exclude. This meant that tests using a
slice that included a particular auto-configuration would include it
even if the application's configuration excluded it via
spring.autoconfigure.exclude. Confusingly, this could result in a
sliced test using an auto-configuration that would be excluded in a
broader `@SpringBootTest`.

This commit updates the ImportAutoConfigurationImportSelector to
consider the spring.autoconfigure.exclude property so that sliced tests
will use a subset of the auto-configurations that a `@SpringBootTest`
would use.

Fixes gh-21736
2020-07-08 17:22:32 +01:00
Johnny Lim
df34d26f4f Replace ReflectionUtils with AssertJ's extracting()
See gh-22261
2020-07-08 13:57:59 +02:00
Andy Wilkinson
9894be8f1e Merge branch '2.3.x'
Closes gh-22255
2020-07-07 17:29:20 +01:00
Andy Wilkinson
0af8c35428 Auto-configure Rabbit CF with credentials provider and refresh service
Closes gh-22016
2020-07-07 13:07:40 +01:00
Andy Wilkinson
1b85ce0769 Streamline OAuth2 resource server auto-config class conditions
Fixes gh-22233
2020-07-07 12:22:27 +01:00
Andy Wilkinson
247fd59422 Merge branch '2.3.x'
Closes gh-22252
2020-07-07 11:52:50 +01:00
Andy Wilkinson
b8bc219b25 Merge branch '2.2.x' into 2.3.x
Closes gh-22251
2020-07-07 11:52:34 +01:00
Andy Wilkinson
4e79bb1cff Disable bean method proxying in SpringBootJdbcConfiguration
Closes gh-22231
2020-07-07 11:51:07 +01:00
dreis2211
507eb9498b Use Class.getDeclaredConstructor().newInstance()
See gh-21913
2020-07-07 11:12:35 +01:00
Andy Wilkinson
fbfb7df3e1 Merge branch '2.3.x'
Closes gh-22247
2020-07-07 10:54:00 +01:00
Andy Wilkinson
24e1a1dddf Merge branch '2.2.x' into 2.3.x
Closes gh-22246
2020-07-07 10:53:45 +01:00
Andy Wilkinson
a8d3f9af31 Polish "Rename NoneOfNestedConditions to NoneNestedConditions in example docs"
See gh-22207
2020-07-07 10:46:32 +01:00
Clayton Walker
7fee70a625 Rename NoneOfNestedConditions to NoneNestedConditions in example docs
See gh-22207
2020-07-07 10:46:20 +01:00
XenoAmess
7c73ed69e1 Use valueOf rather than parseInt as result is assigned to an int
See gh-22209
2020-07-07 10:26:25 +01:00
XenoAmess
90d8480ffe Use new ArrayList(Collection) rather than new, iterate, and add
See gh-22210
2020-07-07 10:04:13 +01:00
Andy Wilkinson
aca609c4c5 Merge branch '2.3.x'
Closes gh-22235
2020-07-06 14:25:13 +01:00
Andy Wilkinson
2007490ce7 Merge branch '2.2.x' into 2.3.x
Closes gh-22234
2020-07-06 14:24:53 +01:00
Andy Wilkinson
4301580095 Improve testing of PropertyPlaceholderAutoConfiguration
Since Spring Framework 4.3.0.RC2, a default embedded value resolver
has been registered with the bean factory when one is not otherwise
configured. This meant that placeholders in `@Value` would be resolved
with or without PropertyPlaceholderAutoConfiguration defining a
PropertySourcesPlaceholderConfigurer bean. However, placeholders in
bean definitions would only be resolved if a
PropertySourcesPlaceholderConfigurer was defined.

This commit updates PropertyPlaceholderAutoConfigurationTests to align
with this change in Framework. We now test that placeholders are
resolved in `@Value` annotations with or without the auto-configuration
and that placeholders in bean definitions are only resolved with the
auto-configured.

Closes gh-22230
2020-07-06 14:24:36 +01:00
Andy Wilkinson
ecc50d179d Merge branch '2.3.x'
Closes gh-22198
2020-07-02 10:41:09 +01:00
Andy Wilkinson
f6b3666b16 Merge branch '2.2.x' into 2.3.x
Closes gh-22197
2020-07-02 10:40:54 +01:00
Andy Wilkinson
21453b5016 Ignore scoped targets when finding matching beans
Fixes gh-22038
2020-07-02 10:39:56 +01:00
Andy Wilkinson
81d6751ba7 Use ApplicationContextRunner in ConditionalOnSingleCandidateTests 2020-07-02 10:10:28 +01:00
Andy Wilkinson
d85774ea77 Merge branch '2.3.x'
Closes gh-22196
2020-07-02 09:32:11 +01:00
Eddú Meléndez
54e0a61b42 Reinstate metrics for Kafka Streams
See gh-21921
2020-07-01 14:03:11 +01:00
Andy Wilkinson
8c341df73b Polish "Add properties to control exceptions ignored by LdapTemplate"
See gh-21289
2020-07-01 10:03:34 +01:00
Filip Hrisafov
6853320661 Add properties to control exceptions ignored by LdapTemplate
See gh-21289
2020-07-01 09:33:39 +01:00
Andy Wilkinson
568f41e8e2 Merge branch '2.3.x'
Closes gh-22176
2020-06-30 17:40:02 +01:00
Andy Wilkinson
0e1ded6893 Merge branch '2.2.x' into 2.3.x
Closes gh-22175
2020-06-30 17:39:52 +01:00
dreis2211
8c0e302f2e Accept empty filter dispatcher types in auto-configurations
Prior to this commit, the usage of EnumSet.copyOf resulted in exceptions when
the underlying collection was empty.

See gh-22138
2020-06-30 17:39:21 +01:00
Andy Wilkinson
6da52a0d08 Suggest iso-offset as value for WebFlux time and date-time properties
Closes gh-22174
2020-06-30 17:35:45 +01:00
Andy Wilkinson
9230ea4ab7 Polish "Support iso-offset for date-time and time formatting with MVC"
See gh-21630
2020-06-30 17:25:16 +01:00
Gaurav Pareek
c3b1172aea Support iso-offset for date-time and time formatting with MVC
See gh-21630
2020-06-30 17:05:17 +01:00
Andy Wilkinson
bb1a0ffbd5 Merge branch '2.3.x'
Closes gh-22173
2020-06-30 17:02:10 +01:00
Andy Wilkinson
4566ac5c25 Add package info to o.s.b.autoconfigure.elasticsearch.rest
Closes gh-22147
2020-06-30 17:01:21 +01:00
Andy Wilkinson
27c458ca26 Merge branch '2.3.x'
Closes gh-22160
2020-06-30 10:53:49 +01:00
Andy Wilkinson
f86831da9c Use TCCL at time of access for resource loading
Fixes gh-22119
2020-06-30 10:51:13 +01:00
Kedar Joshi
6c29b29bd5 Upgrade to Flyway 6.5.0 and support createSchemas
See gh-22120
2020-06-29 09:40:16 +01:00