2293 Commits

Author SHA1 Message Date
dreis2211
267283e3cd Handle null items as advertized in the Javadoc
See gh-22344
2020-07-16 14:17:53 +02:00
Andy Wilkinson
18a3459dc3 Polish "Avoid using reflection when configuring Tomcat listener"
See gh-22329
2020-07-15 11:19:52 +01:00
Filip Hanik
be7048b58f Avoid using reflection when configuring Tomcat listener
This benefits native image building and AOT compilation,
as reflection requires manual configuration.

See gh-22329
2020-07-15 11:19:27 +01:00
Andy Wilkinson
177b3918ee Merge branch '2.3.x'
Closes gh-22340
2020-07-15 10:49:27 +01:00
Andy Wilkinson
259ea65388 Merge branch '2.2.x' into 2.3.x
Closes gh-22339
2020-07-15 10:49:01 +01:00
Andy Wilkinson
d9882f2c88 Clarify the effects of ordering auto-configuration classes
Closes gh-22337
2020-07-15 10:48:01 +01:00
Andy Wilkinson
8abcb1b125 Polish 2020-07-14 17:22:31 +01:00
Andy Wilkinson
c9eead31d1 Avoid reflection when creating manual RootBeanDefinitions
Closes gh-22318
2020-07-14 17:21:44 +01:00
Stephane Nicoll
fe39a91290 Merge branch '2.3.x'
Closes gh-22331
2020-07-14 18:15:02 +02:00
dreis2211
de30e5c6ac Avoid unnecessary allocations in ConditionMessage for NORMAL style
See gh-22330
2020-07-14 18:12:17 +02:00
Stephane Nicoll
3ceae84176 Merge branch '2.3.x' 2020-07-14 16:58:02 +02:00
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