Commit Graph

10327 Commits (13cd429c604e1b6de251a436735bf8d97857d0ce)

Author SHA1 Message Date
Dave Syer 48f49f2120 Restore missing EnvironmentPostProcessors
See gh-22544
4 years ago
Andy Wilkinson 9c5e59371f Upgrade to Jackson 2.10.5
Closes gh-22432
4 years ago
Andy Wilkinson 39c8898008 Upgrade to MariaDB 2.6.2
Closes gh-22541
4 years ago
Andy Wilkinson 44e6cf2e55 Upgrade to AspectJ 1.9.6
Closes gh-22540
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
Phillip Webb 36a6ca6e6e Add EnvironmentPostProcessorsFactory
Update `EnvironmentPostProcessorApplicationListener` so that it can
either use values from `spring.factories` or use a factory interface.

Closes gh-22529
4 years ago
dreis2211 b01fb63de6 Polish
See gh-22524
4 years ago
Phillip Webb 33b48c8bac Add @Name support to the annotation processor
Update the `ConfigurationMetadataAnnotationProcessor` so that `@Name`
annotated parameters generate the correct meta-data.

Closes gh-22492
4 years ago
Stephane Nicoll 88e2810801 Merge branch '2.3.x'
Closes gh-22527
4 years ago
Stephane Nicoll e9a966a0a2 Upgrade to Groovy 2.5.13
Closes gh-22526
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
Madhura Bhave 3f76eb2097 Add volume mount property source support
Add support for volume mounted directories where the filename becomes
the property key and the file contents becomes the value.

Support is provided via a dedicated `VolumeMountDirectoryPropertySource`
class which can either be used directly, or via a "volumemount:/..."
`spring.config.import` location.

Closes gh-19990

Co-authored-by: Phillip Webb <pwebb@vmware.com>
4 years ago
Madhura Bhave eee260fc03 Add support for profile groups
Add support for profile groups so that users can combine a number of
fine-grained profiles into a single logical group.

Closes gh-22522
4 years ago
Phillip Webb 8c6c4fa9fa Overhaul "externalized configuration" docs
Update the "externalized configuration" reference documentation
following the recent updates.

Closes gh-22521
4 years ago
Phillip Webb 3352024b1c Provide ConfigFileApplicationListener replacement
Deprecate `ConfigFileApplicationListener` and provide a replacement
mechanism that supports arbitrary config data imports.

This commit updates the following areas:

- Extract `EnvironmentPostProcessor` invocation logic from the
  `ConfigFileApplicationListener` to new dedicated listener. Also
  providing support for `Log` injection.

- Extract `RandomPropertySource` adding logic from the
  `ConfigFileApplicationListener` to a dedicated class.

- Migrate to the recently introduced `DefaultPropertiesPropertySource`
  class when moving the defaultProperties `PropertySource`

- Replace processing logic with a phased approach to ensure that
  profile enablement happens in a distinct phase and that profiles
  can no longer be activated on an ad-hoc basis.

- Provide a more predictable and logical import order for processing
  `application.properties` and `application.yml` files.

- Add support for a `spring.config.import` property which can be used
  to import additional config data. Also provide a pluggable API
  allowing third-parties to resolve and load locations themselves.

- Add `spring.config.activate.on-profile` support which replaces the
  existing `spring.profiles` property.

- Add `spring.config.activate.on-cloud-platform` support which allows
  a config data document to be active only on a given cloud platform.

- Support a `spring.config.use-legacy-processing` property allowing the
  previous processing logic to be used.

Closes gh-22497

Co-authored-by: Madhura Bhave <mbhave@vmware.com>
4 years ago
Phillip Webb 44f18362d3 Add Binder backed CloudPlatform.isEnforced method
Update `CloudPlatform` with a new `isEnforced` method that's backed
by a `Binder` rather than the `Environment`. We'll require this when
we overhaul our external config data processing logic.

Closes gh-22498
4 years ago
Phillip Webb cd36444641 Extract DefaultPropertiesPropertySource class
Extract `DefaultPropertiesPropertySource` from `SpringApplication` so
that logic can be easily accessed by other classes. Specifically the
property source name and logic to move the source to the end of the
list needs to be called from several places.

Closes gh-22520
4 years ago
Phillip Webb 039fbdfa7c Add DeferredLogFactory support
Add a new `DeferredLogFactory` interface and `DeferredLogs`
implementation that can be used when a `DeferredLog` instance is needed
but the `switchOver` method should be handled elsewhere.

This interface has primarily been added so `EnvironmentPostProcessor`
classes will no longer need to implement `ApplicationEventListener`
just to switch over their logs.

Closes gh-22496
4 years ago
Madhura Bhave 9e9eb90d09 Add multi-document properties file support
Update `OriginTrackedPropertiesLoader` so that it can support
multi-document properties files. These are similar to multi-document
YAML files but use `#---` as the separator.

Closes gh-22495

Co-authored-by: Phillip Webb <pwebb@vmware.com>
4 years ago
Phillip Webb 945e5b9222 Add ConfigurationPropertySource.from method
Add a factory method to `ConfigurationPropertySource` that allows a
single Spring `PropertySource` instance to be adapted.

Closes gh-22494
4 years ago
Phillip Webb 078e146983 Filter empty YAML documents
Update `OriginTrackedYamlLoader` so that empty documents are filtered
from the result. Prior to this commit, our origin wrapper would confuse
the YAML processor and cause empty documents to be included in the Map
with a key of "document" and no value.

Closes gh-22493
4 years ago
Phillip Webb fdc6e80163 Add trailing escape character test
Update `OriginTrackedPropertiesLoaderTests` to also test that an escape
character can be the last character on a line.
4 years ago
Phillip Webb 2eeffe7931 Add @Name support for value object binding
Update value object binder support so that parameters can be annotated
with `@Name` if a specific property name should be used. Prior to this
commit is was not possible to use Java reserved words as property names.

Closes gh-22492
4 years ago
Phillip Webb 2d3ac4bb2e Polish 4 years ago
Phillip Webb 3d7d9d064c Update copyright year of changed files 4 years ago
Phillip Webb 14c1b0938a Polish 4 years ago
Phillip Webb da69286838 Merge branch '2.3.x' 4 years ago
Phillip Webb 187d3af7fc Update copyright year of changed files 4 years ago
Phillip Webb d2a7808098 Polish 4 years ago
Phillip Webb 217b2eff89 Merge branch '2.2.x' into 2.3.x 4 years ago
Phillip Webb b5e70157dc Update copyright year of changed files 4 years ago
Phillip Webb 51a26a4d5a Polish 4 years ago
Stephane Nicoll dd615fd9dd Upgrade to Spring Integration 5.3.2
Closes gh-22389
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 fb56483015 Upgrade to Spring Kafka 2.5.4
Closes gh-22390
4 years ago
Stephane Nicoll d1f9adc189 Upgrade to Spring Kafka 2.3.10
Closes gh-22386
4 years ago
Stephane Nicoll 155f8a1a88 Upgrade to Spring AMQP 2.2.9
Closes gh-22387
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 42817224e1 Merge branch '2.3.x' 4 years ago
Stephane Nicoll 8be46529e1 Merge branch '2.2.x' into 2.3.x 4 years ago
Stephane Nicoll d2ed9dc090 Upgrade to Spring Data Neumann-SR2
Closes gh-22388
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
dreis2211 8929fbe46c Add plugin management for liquibase-maven-plugin
See gh-22499
4 years ago
Andy Wilkinson 0ac7178ae1 Merge branch '2.3.x'
Closes gh-22491
4 years ago
dreis2211 198131f5e4 Remove redundant compiler arguments in Gradle build files
See gh-22488
4 years ago
Andy Wilkinson 01558100d1 Do not attempt to use AprLifecycleListener in a native image
Closes gh-22485
4 years ago
Andy Wilkinson 8799033801 Merge branch '2.3.x' 4 years ago
Andy Wilkinson 2063c242ae Polish 4 years ago
Brian Clozel c6df64aeb6 Merge branch '2.3.x' 4 years ago
Brian Clozel 03739e3097 Polish "Improve liveness/readiness health config"
See gh-22107
4 years ago
Brian Clozel 1d95e2f504 Merge branch '2.3.x'
Closes gh-22483
4 years ago
Brian Clozel fe807d6c0b Improve liveness/readiness health config
Prior to this commit, the application availability infrastructure
would mix the `AvailabilityState`, the `HealthIndicator` and the
`HealthGroup` concepts and would not align with the rest.

This commit auto-configures the livenessState and readinessState
health indicators with the relevant configuration properties.
Unlike other indicators, they are not enabled by default but might
be in future versions.

This also moves the `management.health.probes.enabled` property
to `management.endpoint.health.probes.enabled` since "probes" here
is not a health indicator but rather a configuration flag for the
health endpoint.

Finally, the probes auto-configuration is refined to automatically
add liveness and readiness indicators for the probes group if
they're not already present.

Closes gh-22107
4 years ago
Andy Wilkinson cb73558856 Upgrade to Spring Framework 5.2.8.RELEASE
Closes gh-22375
4 years ago
Andy Wilkinson 6114897473 Upgrade to Reactor Bom Dysprosium-SR10
Closes gh-22376
4 years ago
Andy Wilkinson dd38ffe3a7 Upgrade to Tomcat 9.0.37
Closes gh-22478
4 years ago
Andy Wilkinson e9c46074f1 Upgrade to Solr 8.5.2
Closes gh-22477
4 years ago
Andy Wilkinson 3c628209b8 Upgrade to Netty 4.1.51.Final
Closes gh-22476
4 years ago
Andy Wilkinson 057ab3c647 Upgrade to Neo4j OGM 3.2.14
Closes gh-22475
4 years ago
Andy Wilkinson bd64f4b9d1 Upgrade to MySQL 8.0.21
Closes gh-22474
4 years ago
Andy Wilkinson bf95b7ac2d Upgrade to MongoDB 4.0.5
Closes gh-22473
4 years ago
Andy Wilkinson 13ab92238b Upgrade to Micrometer 1.5.2
Closes gh-22472
4 years ago
Andy Wilkinson 347d3af35d Upgrade to MariaDB 2.6.1
Closes gh-22471
4 years ago
Andy Wilkinson f8c85b7ac9 Upgrade to Lettuce 5.3.2.RELEASE
Closes gh-22470
4 years ago
Andy Wilkinson 09de935f29 Upgrade to Kotlin Coroutines 1.3.8
Closes gh-22469
4 years ago
Andy Wilkinson ebcc903547 Upgrade to jOOQ 3.13.3
Closes gh-22468
4 years ago
Andy Wilkinson ee689f516f Upgrade to Johnzon 1.2.8
Closes gh-22467
4 years ago
Andy Wilkinson c71b5ed836 Upgrade to Jetty 9.4.30.v20200611
Closes gh-22466
4 years ago
Andy Wilkinson c104a13bd5 Upgrade to Jetty Reactive HTTPClient 1.1.4
Closes gh-22465
4 years ago
Andy Wilkinson 1ee9be847e Upgrade to Jakarta Servlet 4.0.4
Closes gh-22464
4 years ago
Andy Wilkinson 6b48705e6a Upgrade to Jackson Bom 2.11.1
Closes gh-22463
4 years ago
Andy Wilkinson 1663e46720 Upgrade to HSQLDB 2.5.1
Closes gh-22462
4 years ago
Andy Wilkinson c368f38e88 Upgrade to Hibernate 5.4.18.Final
Closes gh-22461
4 years ago
Andy Wilkinson 3c05f8eb40 Upgrade to Hazelcast 3.12.8
Closes gh-22460
4 years ago
Andy Wilkinson 3be07566fb Upgrade to Flatten Maven Plugin 1.2.4
Closes gh-22459
4 years ago
Andy Wilkinson d783f3e4d2 Upgrade to Dropwizard Metrics 4.1.11
Closes gh-22458
4 years ago
Andy Wilkinson 8030c8635c Upgrade to DB2 JDBC 11.5.4.0
Closes gh-22457
4 years ago
Andy Wilkinson f88038f00d Upgrade to Couchbase Client 3.0.6
Closes gh-22456
4 years ago
Andy Wilkinson 48ea8caf3d Upgrade to Caffeine 2.8.5
Closes gh-22455
4 years ago
Andy Wilkinson 82ca58a36e Upgrade to Byte Buddy 1.10.13
Closes gh-22454
4 years ago
Andy Wilkinson bec2942bae Upgrade to AppEngine SDK 1.9.81
Closes gh-22453
4 years ago
Andy Wilkinson b6516c9790 Upgrade to ActiveMQ 5.15.13
Closes gh-22452
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 0fd567664a Make DefaultErrorAttributes easier to subclass for message customization
Closes gh-22378
4 years ago
Andy Wilkinson e4b065bdd9 Merge branch '2.3.x'
Closes gh-22419
4 years ago
Andy Wilkinson 5795caea81 Reinstate jetty-jndi exclusion in spring-boot-starter-jetty
Fixes gh-22241
4 years ago
Andy Wilkinson 19ad163486 Merge branch '2.3.x'
Closes gh-22411
4 years ago
Andy Wilkinson accc1f1ca8 Merge branch '2.2.x' into 2.3.x
Closes gh-22410
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
Sébastien Deleuze 66bf684eb6 Ignore BackgroundPreinitializer in native images
BackgroundPreinitializer is not relevant in native images so it is
better to ignore it automatically in order to reduce the footprint
in such environment.

See gh-22392
4 years ago
Andy Wilkinson 85828953bd Perform enablement checks once in BackgroundPreinitializer
Closes gh-22406
4 years ago
dreis2211 a8e6c53c84 Remove version management for exec-maven plugin
See gh-22397
4 years ago
Andy Wilkinson 0e8bf94289 Polish "Add properties for Netty HttpDecoderSpec"
See gh-22367
4 years ago
Julien Eyraud f068f9fc52 Add properties for Netty HttpDecoderSpec
See gh-22367
4 years ago
Stephane Nicoll 530a26731e Merge branch '2.3.x'
Closes gh-22395
4 years ago
Andy Wilkinson 0ce0c3a54a Polish "Add failure analyzer for missing Liquibase changelog"
See gh-22320
4 years ago
Sebastiaan Fernandez 554a962a13 Add failure analyzer for missing Liquibase changelog
See gh-22320
4 years ago
Stephane Nicoll 50000cfb25 Upgrade to R2DBC Arabba-SR6
Closes gh-22394
4 years ago
Stephane Nicoll 0710a251bf Start building against Spring Kafka 2.5.4 snapshots
See gh-22390
4 years ago
Stephane Nicoll 80cd96a892 Start building against Spring Integration 5.3.2 snapshots
See gh-22389
4 years ago
Stephane Nicoll 13511b1b30 Start building against Spring Data Neumann-SR2 snapshots
See gh-22388
4 years ago
Stephane Nicoll 7388d8b8f3 Start building against Spring AMQP 2.2.9 snapshots
See gh-22387
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 b50720aa69 Start building against Reactor Dysprosium-SR10 snapshots
See gh-22376
4 years ago
Stephane Nicoll 22f57926e3 Start building against Spring Framework 5.2.8 snapshots
See gh-22375
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
Stephane Nicoll e03ac4bed6 Merge branch '2.3.x'
Closes gh-22360
4 years ago
Stephane Nicoll 30b5168fed Polish "Restructure "Building Container Images" section"
See gh-22296
4 years ago
Sebastiaan Fernandez c50a5b395b Restructure "Building Container Images" section
See gh-22296
4 years ago
Andy Wilkinson 0c8e52e877 Avoid using reflection to create SpringApplication's context
Closes gh-22322
4 years ago
Stephane Nicoll 0cd83007e9 Merge branch '2.3.x'
Closes gh-22357
4 years ago
dreis2211 267283e3cd Handle null items as advertized in the Javadoc
See gh-22344
4 years ago
Scott Frederick e6318f83b2 Merge branch '2.3.x'
Closes gh-22349
4 years ago
Scott Frederick bc88af8e53 Restore accidentally deleted line 4 years ago
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
4 years ago
Andy Wilkinson 18a3459dc3 Polish "Avoid using reflection when configuring Tomcat listener"
See gh-22329
4 years ago
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
4 years ago
Andy Wilkinson 177b3918ee Merge branch '2.3.x'
Closes gh-22340
4 years ago
Andy Wilkinson 259ea65388 Merge branch '2.2.x' into 2.3.x
Closes gh-22339
4 years ago
Andy Wilkinson d9882f2c88 Clarify the effects of ordering auto-configuration classes
Closes gh-22337
4 years ago
Andy Wilkinson 8abcb1b125 Polish 4 years ago
Andy Wilkinson c9eead31d1 Avoid reflection when creating manual RootBeanDefinitions
Closes gh-22318
4 years ago
Stephane Nicoll fe39a91290 Merge branch '2.3.x'
Closes gh-22331
4 years ago
dreis2211 de30e5c6ac Avoid unnecessary allocations in ConditionMessage for NORMAL style
See gh-22330
4 years ago
Andy Wilkinson 4d1a19f316 Broaden cast as registry may be a GenericApplicationContext
Closes gh-22318
4 years ago
Stephane Nicoll 3ceae84176 Merge branch '2.3.x' 4 years ago
Stephane Nicoll 603e65a629 Polish 4 years ago
Stephane Nicoll c8b67becce Polish "Add additional properties to configure R2DBC pool"
See gh-21219
4 years ago
Rodolpho Couto 0d41596a42 Add additional properties to configure R2DBC pool
See gh-21219
4 years ago
Andy Wilkinson 972aab18f9 Merge branch '2.3.x'
Closes gh-22328
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
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 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 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 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
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
Johnny Lim df34d26f4f Replace ReflectionUtils with AssertJ's extracting()
See gh-22261
4 years ago
Andy Wilkinson 9894be8f1e Merge branch '2.3.x'
Closes gh-22255
4 years ago
Andy Wilkinson 0af8c35428 Auto-configure Rabbit CF with credentials provider and refresh service
Closes gh-22016
4 years ago
Johnny Lim 4ab4c61761 Polish ErrorPage.equals()
See gh-22240
4 years ago
Andy Wilkinson 1b85ce0769 Streamline OAuth2 resource server auto-config class conditions
Fixes gh-22233
4 years ago
Andy Wilkinson 247fd59422 Merge branch '2.3.x'
Closes gh-22252
4 years ago
Andy Wilkinson b8bc219b25 Merge branch '2.2.x' into 2.3.x
Closes gh-22251
4 years ago
Andy Wilkinson 4e79bb1cff Disable bean method proxying in SpringBootJdbcConfiguration
Closes gh-22231
4 years ago
Andy Wilkinson 29b69bfbdf Merge branch '2.3.x'
Closes gh-22250
4 years ago
Andy Wilkinson da319f5f59 Merge branch '2.2.x' into 2.3.x
Closes gh-22249
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
dreis2211 507eb9498b Use Class.getDeclaredConstructor().newInstance()
See gh-21913
4 years ago
Andy Wilkinson fbfb7df3e1 Merge branch '2.3.x'
Closes gh-22247
4 years ago
Andy Wilkinson 24e1a1dddf Merge branch '2.2.x' into 2.3.x
Closes gh-22246
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 7864a7da52 Polish "Remove redundant bitwise operations"
See gh-22212
4 years ago
XenoAmess de46d4bfd3 Remove redundant bitwise operations
See gh-22212
4 years ago
XenoAmess 7c73ed69e1 Use valueOf rather than parseInt as result is assigned to an int
See gh-22209
4 years ago
Andy Wilkinson 3c7f54b97f Polish "Remove redundant close() call from JarResourceManagerTests"
See gh-22213
4 years ago
XenoAmess 623b3ab96e Remove redundant close() call from JarResourceManagerTests
See gh-22213
4 years ago
Andy Wilkinson cd8081f952 Polish "Use new ArrayList(Collection) rather than new and addAll"
See gh-22211
4 years ago
XenoAmess fb70c529d4 Use new ArrayList(Collection) rather than new and addAll
See gh-22211
4 years ago
XenoAmess 90d8480ffe Use new ArrayList(Collection) rather than new, iterate, and add
See gh-22210
4 years ago
XenoAmess 66dc24062f Fix typos in test code
See gh-22218
4 years ago
Andy Wilkinson 2a9193f6d9 Merge branch '2.3.x'
Closes gh-22244
4 years ago
Andy Wilkinson 96e6b74894 Merge branch '2.2.x' into 2.3.x
Closes gh-22243
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 b627918011 Polish "Optionally ignore routing data sources when creating DB health indicators"
See gh-22222
4 years ago
Julio Gomez Diaz 13d1d2393d Optionally ignore routing data sources when creating DB health indicators
See gh-22222
4 years ago
Andy Wilkinson 523dd937cd Merge branch '2.3.x'
Closes gh-22238
4 years ago
Andy Wilkinson 28128a9577 Add support for ChronoUnit.WEEKS when using PeriodUnit
Fixes gh-22225
4 years ago
Andy Wilkinson 0141f554b8 Merge branch '2.3.x' 4 years ago
Andy Wilkinson d1f074858e Correct class name of StringToPeriodConverterTests 4 years ago
Andy Wilkinson aca609c4c5 Merge branch '2.3.x'
Closes gh-22235
4 years ago
Andy Wilkinson 2007490ce7 Merge branch '2.2.x' into 2.3.x
Closes gh-22234
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 6331a27822 Merge branch '2.3.x'
Closes gh-22228
4 years ago
anshlykov 683a7a851f Update to Maven Shade Plugin 3.2.4
See gh-22227
4 years ago
Andy Wilkinson b356bc830d Merge branch '2.3.x' 4 years ago
Andy Wilkinson dfea2f432a Polish
See gh-21921
4 years ago
Brian Clozel 3f93978e99 Merge branch '2.3.x'
Closes gh-22215
4 years ago
Brian Clozel 86d8366ee2 Polish support for reactive Elasticsearch healthcheck
Fixes gh-21042
4 years ago
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
4 years ago
Andy Wilkinson ecbc8ea2df Merge branch '2.3.x'
Closes gh-22202
4 years ago
Andy Wilkinson 79770b9615 Use source sets to determine configurations deprecated for resolution
Fixes gh-22200
4 years ago
Andy Wilkinson ecc50d179d Merge branch '2.3.x'
Closes gh-22198
4 years ago
Andy Wilkinson f6b3666b16 Merge branch '2.2.x' into 2.3.x
Closes gh-22197
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
Andy Wilkinson d85774ea77 Merge branch '2.3.x'
Closes gh-22196
4 years ago
Eddú Meléndez 54e0a61b42 Reinstate metrics for Kafka Streams
See gh-21921
4 years ago
Andy Wilkinson d64337013f Upgrade to Spring Kafka 2.5.3.RELEASE
Closes gh-22185
4 years ago
Andy Wilkinson 9360ba168b Upgrade to Reactor Dysprosium-SR9
Closes gh-21938
4 years ago
Andy Wilkinson a13acf9f2b Upgrade to Reactor Dysprosium-SR9
Closes gh-21937
4 years ago
Andy Wilkinson 160d8e49e3 Merge branch '2.3.x'
Closes gh-22180
4 years ago
Andy Wilkinson 9317135690 Improve error handling when builder image isn't a builder
Fixes gh-22179
4 years ago
Andy Wilkinson 8c341df73b Polish "Add properties to control exceptions ignored by LdapTemplate"
See gh-21289
4 years ago
Filip Hrisafov 6853320661 Add properties to control exceptions ignored by LdapTemplate
See gh-21289
4 years ago
dreis2211 20debcd471 Remove redundant deprecation suppression
See gh-22178
4 years ago
Andy Wilkinson 568f41e8e2 Merge branch '2.3.x'
Closes gh-22176
4 years ago
Andy Wilkinson 0e1ded6893 Merge branch '2.2.x' into 2.3.x
Closes gh-22175
4 years ago
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
4 years ago
Andy Wilkinson 6da52a0d08 Suggest iso-offset as value for WebFlux time and date-time properties
Closes gh-22174
4 years ago
Andy Wilkinson 9230ea4ab7 Polish "Support iso-offset for date-time and time formatting with MVC"
See gh-21630
4 years ago
Gaurav Pareek c3b1172aea Support iso-offset for date-time and time formatting with MVC
See gh-21630
4 years ago
Andy Wilkinson bb1a0ffbd5 Merge branch '2.3.x'
Closes gh-22173
4 years ago
Andy Wilkinson 4566ac5c25 Add package info to o.s.b.autoconfigure.elasticsearch.rest
Closes gh-22147
4 years ago
Andy Wilkinson 4ea07f432d Merge branch '2.3.x'
Closes gh-22168
4 years ago
Andy Wilkinson 75fc140e2d Merge branch '2.2.x' into 2.3.x
Closes gh-22167
4 years ago
Andy Wilkinson 3922fb7164 Polish "Avoid NPE when binder is closed before started event"
See gh-22141
4 years ago
im47cn b34c268547 Avoid NPE when binder is closed before started event
Previously, if TomcatMetricsBinder destroy() was called before it had
received an ApplicationStartedEvent an NPE would be thrown due to
TomcatMetrics being null. This NPE was then caught and logged at
warning level by the disposable bean adapter.

This prevents the NPE by checking that the TomcatMetrics instance is
null before calling close() on it.

See gh-22141
4 years ago
Andy Wilkinson 62aa8ce107 Support incremental annotation processing with Gradle
Closes gh-22150
4 years ago
Andy Wilkinson 27c458ca26 Merge branch '2.3.x'
Closes gh-22160
4 years ago
Andy Wilkinson f86831da9c Use TCCL at time of access for resource loading
Fixes gh-22119
4 years ago
Madhura Bhave 255f8197ab Merge branch '2.3.x'
Closes gh-22156
4 years ago
Madhura Bhave f19f2b8714 Merge branch '2.2.x' into 2.3.x
Closes gh-22155
4 years ago
May c1b9d3c226 Simplify logic in ErrorPage's equals method
See gh-22082
4 years ago
Madhura Bhave 75abb9cc18 Merge branch '2.3.x'
Closes gh-22153
4 years ago
Johnny Lim 43aee1bddd Polish
See gh-22090
4 years ago
Madhura Bhave a963bba0e4 Merge branch '2.3.x' 4 years ago
Madhura Bhave 62f5e44324 Fix typo 4 years ago
Madhura Bhave fbf2beef6e Merge branch '2.3.x'
Closes gh-22152
4 years ago
Madhura Bhave 7a81cea513 Update layers.idx file example in docs
Fixes gh-21510
4 years ago
Andy Wilkinson d33a01a13f Only create effective bom artifact when needed
Closes gh-22143
4 years ago
Andy Wilkinson c000ccdaea Upgrade to Spring Session 2020.0.0-M1
Closes gh-21928
4 years ago
Andy Wilkinson 77eb5f7794 Polish "Add StatsD transport protocol configuration option"
See gh-22125
4 years ago