Commit Graph

8324 Commits (84a12c843603605364b710b38e97e680b2224f01)

Author SHA1 Message Date
Andy Wilkinson 72551242fd Allow XADataSource auto-config with no spring.datasource properties
Fixes gh-20229
4 years ago
Andy Wilkinson 5ea8bb0676 Recommend the use of a MeterBinder when a metric depends on a bean
Closes gh-19557
4 years ago
Stephane Nicoll 16aa8fbc88 Fix actuator dependency on Jackson JSR 310 module
This commit harmonizes dependency declarations for Jackson in the
actuator. Both Jackson and JSR 310 are back to optional in the core
actuator module and mandatory when using the auto-configuration.

Closes gh-22624
4 years ago
Andy Wilkinson 856c55b188 List DevTools in section overview of multi-page documentation
Closes gh-22591
4 years ago
dreis2211 c405b8b9c9 Fix link to Elasticsearch health indicator
See gh-22598
4 years ago
Andy Wilkinson ea5284ca91 Polish "Use milliseconds when configuring awaitTerminationPeriod"
See gh-22604
4 years ago
Tadaya Tsuyukubo 685a6116d1 Use milliseconds when configuring awaitTerminationPeriod
Prior to this change, TaskExecutorBuilder used seconds as its precision
to map the awaitTerminationPeriod value. This caused a loss of
millisecond information in the period.

This commit fixes the loss by converting the period to millisecond and
using setAwaitTerminationMillis to configure the executor.

See gh-22604
4 years ago
Andy Wilkinson d9b61c4aaa Update link to App Engine's Spring Boot sample
Closes gh-22607
4 years ago
Andy Wilkinson 0a01875d41 Improve documentation about swapping one technical starter for another
Closes gh-20408
4 years ago
Andy Wilkinson 812a0ed0c6 Define the reference doc authors in a single place
Closes gh-20896
4 years ago
Andy Wilkinson b631fa1405 Describe MongoClientSettingsBuilderCustomizer in the documentation
Closes gh-21696
4 years ago
Andy Wilkinson be428ef0f2 Document the need for configuration files to have a file extension
Closes gh-22278
4 years ago
Andy Wilkinson 1b48daf1d5 Do not ignore unknown fields when invalid fields are being ignored
Previously, ignoring invalid fields would cause the failure for an
unknown field to be ignored, irrespective of the ignoreUnknownFields
attribute on `@ConfigurationProperties`.

This commit updates the NoUnboundElementsBindHandler to ensure that
any UnboundConfigurationPropertiesException is thrown rather than
being ignored when the handler has been wrapped by an
IgnoreErrorsBindHandler.

Fixes gh-22308
4 years ago
Andy Wilkinson 41954533b2 Fix Mock|SpyBean context caching
The fix for gh-20916 updated DefinitionsParser so that the
ResolvableType for each MockBean or SpyBean field included the
implementation class from which the field was found. Where the field
was declared with a variable generic signature that was made constant
by its implementation class, this allowed the correct concrete type to
be determined. It also had the unintended side-effect of preventing two
test classes with identical `@MockBean` and `@SpyBean` configuration
from sharing a context as the resolvable types for their mock and spy
bean fields would now be different.

This commit updates DefinitionsParser to only include the
implementation class in the ResolvableType if the field's generic type
is variable. For cases where it is not variable, this restores the
behaviour prior to the fix for gh-20916.

Fixes gh-22566
4 years ago
Andy Wilkinson 16eaae0b2f Defer background pre-init till the environment is prepared
Previously, background pre-init was started in response to the
application starting event. This meant that it would be running while
the logging turbo filter was in place and was rejecting all logging.
As a result, any logging performed during pre-init would be lost.

This commit changes background pre-init so that it is now started
in response to the application environment prepared event. By this
point, the logging turbo filter has been removed as the logging levels
have been configured from the environment.

Closes gh-21897
4 years ago
Andy Wilkinson b98c3dccfd Fix property-based configuration of Undertow socket options
Previously, only UndertowOptions was used as the source of options for
both server and socket options, but it only contains server options.
As a result, attempting to configure any socket options defined by
XNIO's Options class would fail.

This commit updates the property-based configuration of options to use
UndertowOptions as the source for server options and XNIO's Options as
the source for socket options.

Fixes gh-22502
4 years ago
Andy Wilkinson 1c3528f5a4 Include Jackson Modules in WebMvcTest and WebFluxTest
Fixes gh-22530
4 years ago
Andy Wilkinson 7b3c0a9e09 Advise against java.util.Optional configuration properties
Closes gh-21868
4 years ago
Andy Wilkinson ce7210c4f0 Merge branch '2.1.x' into 2.2.x
Closes gh-22563
4 years ago
Nelson Osacky 585aed8f8f Add generated-snippets as output to test goal
The generated snippets were not declared as an output to the
`spring-boot-actuator-autoconfigure` test goal so when the test was
pulled from the cache, it did not contain the `generated-snippets`
directory. This directory is required as an input to the Asciidoctor
plugin.

See gh-22555
4 years ago
Andy Wilkinson 1a43cd1c8e Merge branch '2.1.x' into 2.2.x
Closes gh-22551
4 years ago
Nelson Osacky 0494007893 Disable extra scans for full profile.
The extra scans were not disabled for the full profile, only the
regular profile.

See gh-22550
4 years ago
Andy Wilkinson f4508b4059 Merge branch '2.1.x' into 2.2.x
Closes gh-22547
4 years ago
Nelson Osacky e41a53cf85 Add Gradle Enterprise Extension
This adds build caching and build scans.

The changes required disabling scans when using the maven invoker
plugin in order to not cause duplicate build scans when invoking other
maven builds. There is also an empty `.mvn` folder in the
spring-boot-starters project to prevent duplicate build scans as well
since there is no way to pass properties to the maven-javadoc-plugin.

The checkstyle plugin was causing a cache miss with the
`propertyExpansion` because it contains an absolute path. The absolute
path is now ignored and instead the files are added as inputs to the
checkstyle plugin. This only enables the local build cache. The remote
cache is not yet enabled.

On my local machine:

./mvnw clean install build times go from about 30 minutes to about 10 minutes.
./mvnw clean install -Pfull build times go from about 60 minutes to about 13 minutes.

See gh-22089
4 years ago
Andy Wilkinson 9c5e59371f Upgrade to Jackson 2.10.5
Closes gh-22432
4 years ago
Andy Wilkinson f93bae4bd3 Upgrade to Aspectj 1.9.6
Closes gh-22539
4 years ago
Andy Wilkinson ce803cc678 Upgrade to Micrometer 1.3.11
Closes gh-22538
4 years ago
Andy Wilkinson 698db27a75 Upgrade to Aspectj 1.9.6
Closes gh-22537
4 years ago
Andy Wilkinson db242794ec Upgrade to Micrometer 1.1.16
Closes gh-22536
4 years ago
Stephane Nicoll 4f3b03afcf Merge branch '2.1.x' into 2.2.x
Closes gh-22525
4 years ago
Stephane Nicoll 0440a9a78c Upgrade to Groovy 2.5.13
Closes gh-22505
4 years ago
Phillip Webb b5e70157dc Update copyright year of changed files 4 years ago
Phillip Webb 51a26a4d5a Polish 4 years ago
Stephane Nicoll d9c34d5b84 Upgrade to Spring Integration 5.1.12
Closes gh-22511
4 years ago
Stephane Nicoll 68497649b1 Upgrade to Spring Integration 5.2.8
Closes gh-22385
4 years ago
Stephane Nicoll d1f9adc189 Upgrade to Spring Kafka 2.3.10
Closes gh-22386
4 years ago
Stephane Nicoll ad976bec20 Upgrade to Spring AMQP 2.2.9
Closes gh-22383
4 years ago
Stephane Nicoll baa6a8aeb1 Upgrade to Spring AMQP 2.1.16
Closes gh-22507
4 years ago
Stephane Nicoll d5301f8b0a Upgrade to Spring Data Moore-SR9
Closes gh-22384
4 years ago
Stephane Nicoll 8b20840a1a Upgrade to Spring Data Lovelace-SR19
Closes gh-22382
4 years ago
Andy Wilkinson 8448763976 Upgrade to Spring Framework 5.2.8.RELEASE
Closes gh-22372
4 years ago
Andy Wilkinson 249e7dab01 Upgrade to Reactor Dysprosium-SR10
Closes gh-22374
4 years ago
Andy Wilkinson cb371b276f Upgrade to Spring Session Bom Corn-SR3
Closes gh-22451
4 years ago
Andy Wilkinson e8f220a749 Upgrade to Neo4j Ogm 3.2.14
Closes gh-22450
4 years ago
Andy Wilkinson 11cd2bb5c9 Upgrade to Kotlin Coroutines 1.3.8
Closes gh-22449
4 years ago
Andy Wilkinson ffe3dc766b Upgrade to Hsqldb 2.5.1
Closes gh-22448
4 years ago
Andy Wilkinson cddfb888fc Upgrade to Hibernate 5.4.18.Final
Closes gh-22447
4 years ago
Andy Wilkinson fef61aea2c Upgrade to Jetty 9.4.30.v20200611
Closes gh-22446
4 years ago
Andy Wilkinson bbf8b01741 Upgrade to Tomcat 9.0.37
Closes gh-22445
4 years ago
Andy Wilkinson 123a490a39 Upgrade to Johnzon Jsonb 1.2.8
Closes gh-22444
4 years ago
Andy Wilkinson a568f0fd07 Upgrade to Activemq 5.15.13
Closes gh-22443
4 years ago
Andy Wilkinson 76457321a8 Upgrade to Byte Buddy 1.10.13
Closes gh-22442
4 years ago
Andy Wilkinson b24797d31a Upgrade to Mysql 8.0.21
Closes gh-22441
4 years ago
Andy Wilkinson b621cfc8e6 Upgrade to Jakarta Servlet 4.0.4
Closes gh-22440
4 years ago
Andy Wilkinson fdbb464375 Upgrade to Netty 4.1.51.Final
Closes gh-22439
4 years ago
Andy Wilkinson 9aef4c5cf4 Upgrade to Micrometer 1.3.10
Closes gh-22438
4 years ago
Andy Wilkinson c52ff06741 Upgrade to Dropwizard Metrics 4.1.11
Closes gh-22437
4 years ago
Andy Wilkinson 1a63d78679 Upgrade to Db2 Jdbc 11.5.4.0
Closes gh-22436
4 years ago
Andy Wilkinson 09d3bf0655 Upgrade to Hazelcast 3.12.8
Closes gh-22435
4 years ago
Andy Wilkinson 9836aa1afe Upgrade to Appengine Sdk 1.9.81
Closes gh-22434
4 years ago
Andy Wilkinson da59518d2c Upgrade to Caffeine 2.8.5
Closes gh-22433
4 years ago
Andy Wilkinson a87bf7a25a Upgrade to Couchbase Client 2.7.16
Closes gh-22431
4 years ago
Andy Wilkinson 8b8fcb16dc Upgrade to Spring Framework 5.1.17.RELEASE
Closes gh-22370
4 years ago
Andy Wilkinson 636b4a9a81 Upgrade to Reactor Californium-SR20
Closes gh-22371
4 years ago
Andy Wilkinson 6315fe3a61 Upgrade to Spring Session Bom Bean-SR11
Closes gh-22430
4 years ago
Andy Wilkinson 3f8a0b516f Upgrade to Neo4j Ogm 3.1.20
Closes gh-22429
4 years ago
Andy Wilkinson 9baefc5993 Upgrade to Jetty 9.4.30.v20200611
Closes gh-22428
4 years ago
Andy Wilkinson 50b05ac652 Upgrade to Tomcat 9.0.37
Closes gh-22427
4 years ago
Andy Wilkinson 1113d5cc23 Upgrade to Activemq 5.15.13
Closes gh-22426
4 years ago
Andy Wilkinson 775231e3e9 Upgrade to Mysql 8.0.21
Closes gh-22425
4 years ago
Andy Wilkinson 83ca02f16d Upgrade to Netty 4.1.51.Final
Closes gh-22424
4 years ago
Andy Wilkinson dd9c9fa7be Upgrade to Micrometer 1.1.15
Closes gh-22423
4 years ago
Andy Wilkinson c166b5b23e Upgrade to Appengine Sdk 1.9.81
Closes gh-22422
4 years ago
Andy Wilkinson 43fd27bb71 Upgrade to Jackson 2.9.10.20200621
Closes gh-22421
4 years ago
Andy Wilkinson c90dc87b0b Upgrade to Couchbase Client 2.7.16
Closes gh-22420
4 years ago
Andy Wilkinson 21f733b89b Merge branch '2.1.x' into 2.2.x
Closes gh-22409
4 years ago
Andy Wilkinson 179d2c79d6 Avoid trivialising what the reader's learning about
Closes gh-22408
4 years ago
Stephane Nicoll bb7b2e197c Start building against Spring Kafka 2.3.10 snapshots
See gh-22386
4 years ago
Stephane Nicoll 8589449052 Start building against Spring Integration 5.2.8 snapshots
See gh-22385
4 years ago
Stephane Nicoll 4e554b8c2b Start building against Spring Data Moore-SR9 snapshots
See gh-22384
4 years ago
Stephane Nicoll 0e4b6d3203 Start building against Spring AMQP 2.2.9 snapshots
See gh-22383
4 years ago
Stephane Nicoll 4a0031a21e Start building against Spring Data Lovelace-SR18 snapshots
See gh-22382
4 years ago
Stephane Nicoll 819ff56e94 Start building against Reactor Dysprosium-SR10 snapshots
See gh-22374
4 years ago
Stephane Nicoll 84303e682c Start building against Spring Framework 5.2.8 snapshots
See gh-22372
4 years ago
Stephane Nicoll 2658ea76e6 Start building against Reactor Californium-SR20 snapshots
See gh-22371
4 years ago
Stephane Nicoll c31917daa0 Start building against Spring Framework 5.1.17 snapshots
See gh-22370
4 years ago
Andy Wilkinson d9882f2c88 Clarify the effects of ordering auto-configuration classes
Closes gh-22337
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 afa5b12bdb Make reactive Jetty auto-config back off without jetty-servlet
Fixes gh-22275
4 years ago
Andy Wilkinson 66987533d1 Link to application properties section from externalized config list
Closes gh-22262
4 years ago
Andy Wilkinson 4e79bb1cff Disable bean method proxying in SpringBootJdbcConfiguration
Closes gh-22231
4 years ago
Andy Wilkinson 14f24dbecc Merge branch '2.1.x' into 2.2.x
Closes gh-22248
4 years ago
Andy Wilkinson 26f591264c Fix handling of NestedServletException with no root cause
Fixes gh-22169
4 years ago
Andy Wilkinson a8d3f9af31 Polish "Rename NoneOfNestedConditions to NoneNestedConditions in example docs"
See gh-22207
4 years ago
Clayton Walker 7fee70a625 Rename NoneOfNestedConditions to NoneNestedConditions in example docs
See gh-22207
4 years ago
Andy Wilkinson a0f1424393 Polish "Fix unwrapping of captured PrintStream in test support's OutputCapture"
See gh-22214
4 years ago
XenoAmess 75a64bd901 Fix unwrapping of captured PrintStream in test support's OutputCapture
See gh-22214
4 years ago
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
4 years ago
Andy Wilkinson 21453b5016 Ignore scoped targets when finding matching beans
Fixes gh-22038
4 years ago
Andy Wilkinson 81d6751ba7 Use ApplicationContextRunner in ConditionalOnSingleCandidateTests 4 years ago