Commit Graph

9653 Commits

Author SHA1 Message Date
Stephane Nicoll 80cd96a892 Start building against Spring Integration 5.3.2 snapshots
See gh-22389
2020-07-17 14:02:32 +02:00
Stephane Nicoll 13511b1b30 Start building against Spring Data Neumann-SR2 snapshots
See gh-22388
2020-07-17 14:01:41 +02:00
Stephane Nicoll 7388d8b8f3 Start building against Spring AMQP 2.2.9 snapshots
See gh-22387
2020-07-17 14:00:43 +02:00
Stephane Nicoll b50720aa69 Start building against Reactor Dysprosium-SR10 snapshots
See gh-22376
2020-07-17 10:38:59 +02:00
Stephane Nicoll 22f57926e3 Start building against Spring Framework 5.2.8 snapshots
See gh-22375
2020-07-17 10:37:45 +02:00
Stephane Nicoll 30b5168fed Polish "Restructure "Building Container Images" section"
See gh-22296
2020-07-16 16:15:50 +02:00
Sebastiaan Fernandez c50a5b395b Restructure "Building Container Images" section
See gh-22296
2020-07-16 16:07:32 +02:00
dreis2211 267283e3cd Handle null items as advertized in the Javadoc
See gh-22344
2020-07-16 14:17:53 +02:00
Scott Frederick bc88af8e53 Restore accidentally deleted line 2020-07-15 15:14:23 -05:00
Scott Frederick 210282260e Fail on bootBuildImage with launch script
This commit adds a check to the support code for the Gradle plugin
bootBuildImage task to ensure that the jar file that will be passed
to a builder is readable and has a valid directory. This prevents a
situation where the jar file cannot be read because it is prepended
with a launch script, and the builder does not receive any files to
process.

Notes have also been added to the Gradle plugin documentation to warn
against using a bootJar launchScript configuration and bootBuildImage
together, as well as caveats about launchScript that match the Maven
plugin documentation.

Fixes gh-22223
2020-07-15 14:58:11 -05: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
dreis2211 de30e5c6ac Avoid unnecessary allocations in ConditionMessage for NORMAL style
See gh-22330
2020-07-14 18:12:17 +02:00
Stephane Nicoll 603e65a629 Polish 2020-07-14 16:57:42 +02:00
dreis2211 021d9b59cb Cleanup temporary files after Maven plugin execution
See gh-22112
2020-07-14 15:08:19 +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 196d20537a Merge branch '2.2.x' into 2.3.x
Closes gh-22325
2020-07-14 11:38:34 +01:00
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
2020-07-14 11:37:54 +01:00
Andy Wilkinson f52cdf10b3 Update WebServerInitEvent docs to reflect ordering w.r.t. refresh
Closes gh-22277
2020-07-13 12:51:07 +01:00
Andy Wilkinson f18b657ff9 Fix handling of DOCKER_HOST that begins with unix://
Fixes gh-22300
2020-07-10 15:31:55 +01:00
Andy Wilkinson 794ded5286 Test the Gradle plugin against Gradle 6.5.1
Closes gh-22292
2020-07-09 16:01:52 +01:00
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
2020-07-09 12:36:06 +01:00
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
2020-07-09 11:21:03 +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 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 d84aeef529 Merge branch '2.2.x' into 2.3.x
Closes gh-22264
2020-07-08 18:00:07 +01:00
Andy Wilkinson 66987533d1 Link to application properties section from externalized config list
Closes gh-22262
2020-07-08 17:58:35 +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
Andy Wilkinson 1b85ce0769 Streamline OAuth2 resource server auto-config class conditions
Fixes gh-22233
2020-07-07 12:22:27 +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
Andy Wilkinson da319f5f59 Merge branch '2.2.x' into 2.3.x
Closes gh-22249
2020-07-07 11:43:03 +01:00
Andy Wilkinson 14f24dbecc Merge branch '2.1.x' into 2.2.x
Closes gh-22248
2020-07-07 11:42:43 +01:00
Andy Wilkinson 26f591264c Fix handling of NestedServletException with no root cause
Fixes gh-22169
2020-07-07 11:34:25 +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
Andy Wilkinson 96e6b74894 Merge branch '2.2.x' into 2.3.x
Closes gh-22243
2020-07-07 09:56:21 +01:00
Andy Wilkinson a0f1424393 Polish "Fix unwrapping of captured PrintStream in test support's OutputCapture"
See gh-22214
2020-07-07 09:54:52 +01:00
XenoAmess 75a64bd901 Fix unwrapping of captured PrintStream in test support's OutputCapture
See gh-22214
2020-07-07 09:53:34 +01:00
Andy Wilkinson 28128a9577 Add support for ChronoUnit.WEEKS when using PeriodUnit
Fixes gh-22225
2020-07-06 19:57:26 +01:00
Andy Wilkinson d1f074858e Correct class name of StringToPeriodConverterTests 2020-07-06 15:59:32 +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
anshlykov 683a7a851f Update to Maven Shade Plugin 3.2.4
See gh-22227
2020-07-06 09:51:08 +01:00
Andy Wilkinson dfea2f432a Polish
See gh-21921
2020-07-06 09:41:39 +01:00
Brian Clozel 86d8366ee2 Polish support for reactive Elasticsearch healthcheck
Fixes gh-21042
2020-07-03 15:25:18 +02:00
Aleksander Lech 203878a16f Add support for reactive Elasticsearch healthcheck
Prior to this commit, configuring a reactive Elasticsearch client would
auto-configure an Actuator Health check using a synchronous client, with
the default configuration properties (so tarting localhost:9200).

This would lead to false reports of unhealthy Elasticsearch clusters
when using reactive clients.

This commit reproduces the logic for MongoDB repositories: if a reactive
variant is available, it is selected for the health check
infrastructure.

See gh-21042
2020-07-03 15:16:38 +02:00
Andy Wilkinson 79770b9615 Use source sets to determine configurations deprecated for resolution
Fixes gh-22200
2020-07-02 15:14:00 +01:00