Commit Graph

28342 Commits (a4089041209e83c29f6a8e314526901d16e8f768)
 

Author SHA1 Message Date
Andy Wilkinson 972aab18f9 Merge branch '2.3.x'
Closes gh-22328
4 years ago
Andy Wilkinson 0566c29e34 Merge pull request #22112 from dreis2211
* gh-22112:
  Cleanup temporary files after Maven plugin execution

Closes gh-22112
4 years ago
dreis2211 021d9b59cb Cleanup temporary files after Maven plugin execution
See gh-22112
4 years ago
Andy Wilkinson 2642b04073 Merge branch '2.3.x'
Closes gh-22327
4 years ago
Andy Wilkinson 9dea67f78f Merge pull request #22294 from dreis2211
* gh-22294:
  Reduce started threads in OnClassCondition

Closes gh-22294
4 years ago
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
4 years ago
Andy Wilkinson 2af550ef73 Avoid using reflection with manual bean definitions
Closes gh-22318
4 years ago
Andy Wilkinson e3b839a48a Merge branch '2.3.x'
Closes gh-22326
4 years ago
Andy Wilkinson 196d20537a Merge branch '2.2.x' into 2.3.x
Closes gh-22325
4 years ago
Andy Wilkinson 9558779dd4 Replace ConfigurationPropertiesBeanDefinitionValidator with a FailureAnalyzer
Previously, regular bean definitions for configuration properties classes
that attempt to use constructor binding were detected in a bean factory
post-processor, ConfigurationPropertiesBeanDefinitionValidator. This
validation examined every standard bean definition and failed if it
encountered one for a class that should have used constructor binding.
There were two downsides to this approach:

1. Reflection used to identify if the bean should be using constructor
   binding triggered class loading that could prevent subsequent
   instrumentation by a load-time weaver.
2. The cost of the validation was incurred when there was no
   misconfiguration to report.

This commit replaces ConfigurationPropertiesBeanDefinitionValidator
with a failure analyzer. This failure analyzer only runs once a failure
has occurred and the application context is not going to complete
refresh. This avoids causing problems with subsequent instrumentation
and also avoids the cost of validation and error reporting unless there
is an error.

Fixes gh-20798
4 years ago
Andy Wilkinson 2643c60c5a Merge branch '2.3.x'
Closes gh-22316
4 years ago
Andy Wilkinson f52cdf10b3 Update WebServerInitEvent docs to reflect ordering w.r.t. refresh
Closes gh-22277
4 years ago
Andy Wilkinson 3d2f67f0be Merge branch '2.3.x'
Closes gh-22304
4 years ago
Andy Wilkinson f18b657ff9 Fix handling of DOCKER_HOST that begins with unix://
Fixes gh-22300
4 years ago
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
4 years ago
Andy Wilkinson 2d91a096db Merge branch '2.3.x'
Closes gh-22293
4 years ago
Andy Wilkinson 794ded5286 Test the Gradle plugin against Gradle 6.5.1
Closes gh-22292
4 years ago
Andy Wilkinson 64c1190c9b Merge branch '2.3.x'
Closes gh-22291
4 years ago
Andy Wilkinson c963720aee Upgrade to Gradle 6.4.1
Closes gh-22290
4 years ago
Andy Wilkinson 0dfb9bb783 Merge branch '2.3.x'
Closes gh-22289
4 years ago
Andy Wilkinson be8cd9e867 Extend DefaultTask rather than AbstractTask in buildSrc
Closes gh-22288
4 years ago
Andy Wilkinson f0e4149da4 Merge branch '2.3.x'
Closes gh-22287
4 years ago
Stephane Nicoll 0eb2fcb9c0 Upgrade to Infinispan 11.0.1.Final
This commit upgrade to Infinispan 11.0.1.Final and update dependency
management to use the bom now that it declares all the modules that
the project ships. See gh-19791

Closes gh-22286
4 years ago
Andy Wilkinson df67816e55 Try to make ConfigurationPropertySourcesTests perf tests more robust
Previously, the tests used absolute values to verify that the work
had completed sufficiently quickly. This led to flaky tests in
environments where the performance can be variable such as CI.

This commit tries to make the tests more robust by comparing the
performance to a baseline and requiring it to be twice as fast.

Closes gh-22137
4 years ago
Andy Wilkinson c258cec814 Merge branch '2.3.x'
Closes gh-22285
4 years ago
Andy Wilkinson b24f17b35c Rework spring-boot-docs to be a full-blown java project
Previously, spring-boot-docs used the java-base-plugin and then added
configuration on top. This has proven to be error prone, with the most
recent problem being that the tests were not being compiled and run.

This commit changes approach and applies the java plugin to the project
instead of the java-base plugin. Now, rather than adding the necessary
configuration to the base, the unwanted pieces of the java plugin's
configuration – specifically the jar and javadoc tasks – are disabled
instead. The DeployedPlugin has also been updated so that it does not
create a publication from the java component for projects that have a
disabled jar task.

Closes gh-22284
4 years ago
Stephane Nicoll f00e35192e Merge pull request #21746 from encircled
* pr/21746:
  Polish "Allow data unit to be specified on the constructor parameter"
  Allow data unit to be specified on the constructor parameter

Closes gh-21746
4 years ago
Stephane Nicoll 429a504bbe Polish "Allow data unit to be specified on the constructor parameter"
See gh-21746
4 years ago
Vlad Kisel ba70b79651 Allow data unit to be specified on the constructor parameter
See gh-21746
4 years ago
Andy Wilkinson 553d58a234 Merge branch '2.3.x'
Closes gh-22283
4 years ago
Andy Wilkinson c765df6e5d Merge branch '2.2.x' into 2.3.x
Closes gh-22282
4 years ago
Andy Wilkinson afa5b12bdb Make reactive Jetty auto-config back off without jetty-servlet
Fixes gh-22275
4 years ago
Andy Wilkinson 6dee7e6cf8 Merge pull request #22266 from dreis2211
* gh-22266:
  Polish "Measure with nanoseconds in HttpExchangeTracer"
  Measure with nanoseconds in HttpExchangeTracer

Closes gh-22266
4 years ago
Andy Wilkinson cb7f99ad72 Polish "Measure with nanoseconds in HttpExchangeTracer"
See gh-22266
4 years ago
dreis2211 d72f5139f1 Measure with nanoseconds in HttpExchangeTracer
See gh-22266
4 years ago
Andy Wilkinson ec3433aacf Merge pull request #22274 from fernandezseb
* gh-22274:
  Fix dead link url and name of the STS download link

Closes gh-22274
4 years ago
Sebastiaan Fernandez ef2ccbc7d6 Fix dead link url and name of the STS download link
See gh-22274
4 years ago
Andy Wilkinson d5d84265f4 Merge branch '2.3.x'
Closes gh-22270
4 years ago
Andy Wilkinson 888bea5224 Merge branch '2.2.x' into 2.3.x
Closes gh-22268
4 years ago
Andy Wilkinson efad6c16d1 Merge branch '2.1.x' into 2.2.x
Closes gh-22269
4 years ago
Andy Wilkinson 9800804b65 Upgrade CI images to use ubuntu:bionic-20200630
Closes gh-22271
4 years ago
Andy Wilkinson 41ce1c9de2 Update JDK 15 CI to use 2020-07-08-05-49
Closes gh-22267
4 years ago
Scott Frederick 6b7640ba2e Merge branch '2.3.x'
Closes gh-22272
4 years ago
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
4 years ago
Andy Wilkinson 1f1c6fd3ea Merge branch '2.3.x'
Closes gh-22265
4 years ago
Andy Wilkinson d84aeef529 Merge branch '2.2.x' into 2.3.x
Closes gh-22264
4 years ago
Andy Wilkinson 66987533d1 Link to application properties section from externalized config list
Closes gh-22262
4 years ago
Andy Wilkinson 3e33b6c854 Merge branch '2.3.x'
Closes gh-22263
4 years ago
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
4 years ago
Stephane Nicoll 456cb2da51 Merge pull request #22261 from izeye
* pr/22261:
  Replace ReflectionUtils with AssertJ's extracting()

Closes gh-22261
4 years ago