Commit Graph

11669 Commits (5bd5ca5107b8938750883479edf8421214398fbe)

Author SHA1 Message Date
Artem Bilan 7d712aaa2d Ensure that MeterRegistry bean is defined before SI looks for it
Previously, it was possible for Spring Integration, including its
built-in Micrometer support, to be auto-configured before the
Micrometer auto-configuration had defined the MeterRegistry bean. This
resulted in missing Spring Integration metrics.

Spring Integration is unusual in having its own built-in Micrometer
support that it configures itself. Rather than providing
auto-configuration for Integration's Micrometer support (Which isn't
needed), this commit introduces some auto-configuration that just
affects the ordering of the auto-configuration classes. This ordering
ensures that the MeterRegistry bean has been defined by Spring
Integration is auto-configured. This ensures that the MeterRegistry
bean is known to the BeanFactory when Spring Integration goes looking
for it.

See gh-24095
4 years ago
Andy Wilkinson 4a7bc3d096 Require bean name match for Locale(Context)Resolver to back off
Web MVC and WebFlux look up by name the Locale(Context)Resolver beans
that they use. Previously, the auto-configured resolvers for MVC and
WebFlux would back off when any bean of the required type was defined,
irrespective of its name. If the name of the user's bean didn't match
the name used by MVC and WebFlux to find the custom resolver, the
custom resolver would be ignored and MVC and WebFlux would use their
defaults. There was no indication of this happening in the condition
evaluation report as all it would show is that the auto-configured
resolver had backed off in favour of the custom resolver. It wouldn't
show anything to explain why the custom resolver had not been used.

This commit updates the auto-configured resolvers to be conditional
on a missing bean of the name required by MVC and WebFlux. If the
user then defines a custom resolver with a different name, the
condition evaluation report will show that the auto-configured
resolver remained as the bean name didn't match.

Fixes gh-24209
4 years ago
Madhura Bhave e342d7d262 Fix processing of line immediately after # in properties file
Fixes gh-24158
4 years ago
Stephane Nicoll c86ce27117 Use non deprecated properties to override web resources cache
Closes gh-24203
4 years ago
Andy Wilkinson 15c44aa45f Merge branch '2.3.x'
Closes gh-24200
4 years ago
Andy Wilkinson 988526bee9 Only attempt unwrapping of interfaces
Wrapper's isWrapperFor and unwrap methods both take a Class<?> target
but document that the target should be an interface. Prior to this
change, we were calling isWrapperFor with any Class<?> irrespective of
whether or not it was an interface. When using Oracle UCP each call
to isWrapperFor with an interface results in an exception stack trace
being logged.

This commit upates DataSourceUnwrapper to adhere to Wrapper's contract
by only calling isWrapperFor and unwrap with interfaces.

Fixes gh-24154
4 years ago
Stephane Nicoll f3afd8a0f4 Fix location of Spring LDAP and Spring Session properties
Closes gh-23558
4 years ago
Stephane Nicoll e708667fc0 Merge branch '2.3.x'
Closes gh-24194
4 years ago
Stephane Nicoll 76912d1952 Merge branch '2.2.x' into 2.3.x
Closes gh-24193
4 years ago
Stephane Nicoll d3440880c4 Polish "Avoid unnecessary pattern compilation in WebFluxTags"
See gh-24147
4 years ago
Peter Paul Bakker b22bb7ea04 Avoid unnecessary pattern compilation in WebFluxTags
See gh-24147
4 years ago
Phillip Webb 0ce3e7ec6b Protect against NPE caused by recursive calls
Update `SpringBootConfigurationFactory` so that it no longer attempts
to get a `LoggingSystem`.

The recent `LoggingSystem` update means makes use of the
`SpringFactoriesLoader` class to load candidate logging systems.
Unfortunately, the `SpringFactoriesLoader` class creates a `Logger`
which (when using Log4J2) causes `SpringBootConfigurationFactory` to
run. Calling `LoggingSystem.get` from `SpringBootConfigurationFactory`
results in a recursive call to `SpringFactoriesLoader` which hasn't
yet been fully initialized. We then see an NPE caused by a `null`
`cache`.

This update removes the call to `LoggingSystem.get` with the assumption
that it would never return `null` anyway.

Fixes gh-24163
4 years ago
Phillip Webb e8244d8d70 Add CharSequenceToObjectConverter support
Update `ApplicationConversionService` with support for converting
`CharSequence` source types by using existing `String` based converters.

The addition is primarily to allow `ConfigTreePropertySource` values
to be converted correctly.

Closes gh-24171
4 years ago
Stephane Nicoll e220536ddb Merge branch '2.3.x'
Closes gh-24186
4 years ago
Stephane Nicoll dea12f7551 Merge branch '2.2.x' into 2.3.x
Closes gh-24185
4 years ago
izeye b17895844d Provide dependency management for elasticsearch-rest-client-sniffer
See gh-24173
4 years ago
Scott Frederick da2276e7d4 Use stable builder and run images in integration tests
Fixes gh-24183
4 years ago
Stephane Nicoll 7283ff04eb Merge branch '2.3.x'
Closes gh-24162
4 years ago
Sergey Kolesnikov b341b478a6 Rename "sla" to "slo" in reference documentation
See gh-24160
4 years ago
Andy Wilkinson 6df10842d2 Allow Devtools to be enabled irrespective of the launching ClassLoader
Closes gh-21424
4 years ago
Stephane Nicoll 5b311d805b Upgrade to Netty 4.1.54.Final
Closes gh-24129
4 years ago
Stephane Nicoll 62e5f2e8a6 Upgrade to jOOQ 3.14.3
Closes gh-24128
4 years ago
Stephane Nicoll 56ce2afe8f Upgrade to Infinispan 11.0.5.Final
Closes gh-24127
4 years ago
Stephane Nicoll 20edba51ef Upgrade to AssertJ 3.18.1
Closes gh-24126
4 years ago
Stephane Nicoll 8311edf722 Upgrade to Neo4j OGM 3.2.18
Closes gh-24125
4 years ago
Stephane Nicoll 79835dc20f Upgrade to Netty 4.1.54.Final
Closes gh-24124
4 years ago
Andy Wilkinson 6b650f8c45 Upgrade to Spring Integration 5.4.1
Closes gh-24097
4 years ago
Andy Wilkinson 368b40868f Merge branch '2.3.x'
Closes gh-24122
4 years ago
Andy Wilkinson 3e243de41b Merge branch '2.2.x' into 2.3.x
Closes gh-24121
4 years ago
dreis2211 033c78b945 Fix link to Flyway callback docs
See gh-24119
4 years ago
Andy Wilkinson f8a5be8245 Merge pull request #24120 from dreis2211
* gh-24120:
  Fix deprecation warnings in javadoc comments

Closes gh-24120
4 years ago
dreis2211 5ef6e09c64 Fix deprecation warnings in javadoc comments
See gh-24120
4 years ago
Andy Wilkinson 51981d5ed3 Upgrade to Spring Session 2020.0.1
Closes gh-24098
4 years ago
Andy Wilkinson 4a9ca33026 Upgrade to Micrometer 1.6.1
Closes gh-24051
4 years ago
Andy Wilkinson e35c8e0214 Upgrade to Micrometer 1.5.7
Closes gh-24050
4 years ago
Andy Wilkinson 9f10bb1405 Upgrade to Spring Kafka 2.6.3
Closes gh-24074
4 years ago
Andy Wilkinson 6507175d35 Upgrade to Spring Kafka 2.5.8.RELEASE
Closes gh-24075
4 years ago
Andy Wilkinson 0053fb7871 Upgrade to Spring Integration 5.3.4.RELEASE
Closes gh-24096
4 years ago
Andy Wilkinson 10355fc6dc Upgrade to Spring AMQP 2.3.1
Closes gh-24073
4 years ago
Andy Wilkinson 795100f27d Merge branch '2.3.x'
See gh-24043
4 years ago
Andy Wilkinson 4a630dc7a9 Only skip ..-prefixed locations when found via wildcard
Closes gh-23983
4 years ago
Andy Wilkinson 8f2de48fc1 Upgrade to Spring Data 2020.0.1
Closes gh-24036
4 years ago
Andy Wilkinson 634b88b950 Upgrade to Reactor 2020.0.1
Closes gh-24110
4 years ago
Andy Wilkinson e8a1c3b9f8 Start building against Spring Integration 5.3.4 snapshots
See gh-24096
4 years ago
Andy Wilkinson 85cb5d4b3b Upgrade to Reactor Dysprosium-SR14
Closes gh-24109
4 years ago
Stephane Nicoll c3793bd0af Upgrade to Spring HATEOAS 1.2.1
Closes gh-24091
4 years ago
Scott Frederick 59e0f7317e Avoid image pulls in integration tests
This commit sets the pull policy to `IF_NOT_PRESENT` where possible
in integration tests for the Maven and Gradle plugins to reduce
the number of times the default Paketo builder and run images are
pulled from Docker Hub.

Fixes gh-24113
4 years ago
Andy Wilkinson 21d97524d8 Merge branch '2.3.x'
Closes gh-24112
4 years ago
Andy Wilkinson e6ab20b029 Merge branch '2.2.x' into 2.3.x
Closes gh-24111
4 years ago
Andy Wilkinson 31042bfc49 Test inclusion of system scope dependencies in repackaged war
Closes gh-22503
4 years ago
Stephane Nicoll 82652c7742 Start building against Reactor 2020.0.1 snapshots
See gh-24110
4 years ago
Stephane Nicoll afe721bc34 Start building against Reactor Dysprosium-SR14 snapshots
See gh-24109
4 years ago
Stephane Nicoll b6fc0913cf Merge branch '2.3.x'
Closes gh-24104
4 years ago
Stephane Nicoll 515b18e142 Merge branch '2.3.x'
Closes gh-24108
4 years ago
Stephane Nicoll 9e901b6e07 Upgrade to Testcontainers 1.15.0
Closes gh-24103
4 years ago
Stephane Nicoll 23ad2b4156 Rationalize Testcontainers image versions
This commit rationalizes the Docker image names used in integration
tests.

Closes gh-24107
4 years ago
Brian Clozel 24f29a6516 Polish
See gh-24099
4 years ago
Stephane Nicoll 78fb3ccc53 Polish 4 years ago
Brian Clozel f0a6128db3 Add spring.web.resources.cache.use-last-modified
Prior to this commit, packaging a Spring Boot application as a container
image with Cloud Native Buildpacks could result in unwanted browser
caching behavior, with "Last-Modified" HTTP response headers pointing to
dates in the far past.

This is due to CNB resetting the last-modified date metadata for static
files (for build reproducibility and container layer caching) and Spring
static resource handling relying on that information when serving static
resources.

This commit introduces a new configuration property
`spring.web.resources.cache.use-last-modified` that can be used to
disable this behavior in Spring if the application is meant to run as a
container image built by CNB.

The default value for this property remains `true` since this remains
the default value in Spring Framework and using that information in
other deployment models is a perfectly valid use case.

Fixes gh-24099
4 years ago
Stephane Nicoll 673a5ac2fd Upgrade to Spring Framework 5.3.1
Closes gh-24035
4 years ago
Stephane Nicoll 0c43d13789 Upgrade to Spring Framework 5.2.11
Closes gh-24034
4 years ago
Stephane Nicoll 45f1133e1e Merge branch '2.3.x' 4 years ago
Stephane Nicoll 339c8d0a26 Revert "Upgrade to Testcontainers 1.15.0" 4 years ago
Stephane Nicoll 5123eb0c74 Fix deprecation in Testcontainers 1.15.0
See gh-24103
4 years ago
Stephane Nicoll 7fb21fbff3 Merge branch '2.3.x'
Closes gh-24104
4 years ago
Stephane Nicoll c1a1b5fe71 Upgrade to Testcontainers 1.15.0
Closes gh-24103
4 years ago
Stephane Nicoll 48bfdc1314 Revert "Upgrade to testcontainers 1.15.0"
This reverts commit b1c446d1b2.
4 years ago
Stephane Nicoll b1c446d1b2 Upgrade to testcontainers 1.15.0
Closes gh-24103
4 years ago
Stephane Nicoll 33d83ebc94 Merge branch '2.3.x' 4 years ago
Stephane Nicoll 6aca0275ad Polish 4 years ago
Andy Wilkinson 409e3ccecf Ignore resolution of copied configuration
When a Configuration is copied, any before and after resolve actions
that are registered with its ResolvableDependencies are also copied
over. This means that, when a copied configuration is resolved the
resolution actions may be called on a ResolvableDependencies instances
that isn't the one to which they were added.

Previously, the above-described Gradle behaviour would result in
BootJar accessed the ResolvedConfiguration of a Configuration that may
not have yet been resolved. At best this would trigger Configuration
resolution and at worst it would fail. A failure could occur if the
configuration had been copied so that it could be made resolvable.
The afterResolve action would then try to access the
ResolvedConfiguration of the original Configuration. This would trigger
a resolution attempt that fails due to the original configuration being
marked as unresolvable.

This commit updates the afterResolve action in BootJar to check that
the ResolvableDependencies with which it is called matches the
ResolvableDependencies with which it was original registered. Only
when the two match, and therefore the configuration has actually been
resolved, does processing proceed.

Fixes gh-24072
4 years ago
Stephane Nicoll e2af680f02 Upgrade to SendGrid 4.6.8
Closes gh-24090
4 years ago
Stephane Nicoll 05a226aa11 Upgrade to Pooled JMS 1.2.1
Closes gh-24089
4 years ago
Stephane Nicoll 2e119e7f30 Upgrade to Nimbus JOSE JWT 9.1.2
Closes gh-24088
4 years ago
Stephane Nicoll 2a98e2eb98 Upgrade to Kotlin Coroutines 1.4.1
Closes gh-24087
4 years ago
Stephane Nicoll d2d968ba16 Upgrade to jOOQ 3.14.1
Closes gh-24086
4 years ago
Stephane Nicoll 706de82d39 Upgrade to Hibernate 5.4.23.Final
Closes gh-24085
4 years ago
Stephane Nicoll a0d6504669 Upgrade to Couchbase Client 3.0.10
Closes gh-24084
4 years ago
Stephane Nicoll 599a7737db Upgrade to Byte Buddy 1.10.18
Closes gh-24083
4 years ago
Stephane Nicoll 319aa0d478 Upgrade to AppEngine SDK 1.9.83
Closes gh-24082
4 years ago
Stephane Nicoll d962a074c3 Upgrade to jOOQ 3.13.6
Closes gh-24081
4 years ago
Stephane Nicoll 2c67acb970 Upgrade to Hibernate 5.4.23.Final
Closes gh-24080
4 years ago
Stephane Nicoll 0142ed1e5c Upgrade to Couchbase Client 3.0.10
Closes gh-24079
4 years ago
Stephane Nicoll ebfa494b2e Upgrade to Byte Buddy 1.10.18
Closes gh-24078
4 years ago
Stephane Nicoll df6181f6bf Upgrade to AppEngine SDK 1.9.83
Closes gh-24077
4 years ago
Andy Wilkinson dfe3058dff Only pick up new maintenance releases when upgrading dependencies
Closes gh-24069
4 years ago
Stephane Nicoll 4c42affcc6 Start building against Spring Framework 5.3.1 snapshots
See gh-24035
4 years ago
Stephane Nicoll 2282c73aab Start building against Spring Framework 5.2.11 snapshots
See gh-24034
4 years ago
Andy Wilkinson 6a2332d477 Merge branch '2.3.x'
Closes gh-24062
4 years ago
Andy Wilkinson 44d0ce5ff1 Merge branch '2.2.x' into 2.3.x
Closes gh-24060
4 years ago
Andy Wilkinson 9c5d1646bd Show how to configure a case-sensitive physical naming strategy
Closes gh-24045
4 years ago
Stephane Nicoll 946be4eab6 Merge branch '2.3.x'
Closes gh-24059
4 years ago
Stephane Nicoll 4a8646bd09 Merge branch '2.2.x' into 2.3.x
Closes gh-24058
4 years ago
Stephane Nicoll 59ea7c11f6 Use most specific getter when generating metadata
This commit makes sure to use the most specific getter if more than
one candidate exists.

Closes gh-24002
4 years ago
Andy Wilkinson ce8427793f Merge branch '2.3.x'
See gh-24053
4 years ago
Andy Wilkinson 91f4541a91 Merge branch '2.2.x' into 2.3.x
See gh-24052
4 years ago
Andy Wilkinson 006d4bc36d Do not set Tomcat's trust store password when null
See gh-24041
4 years ago
Andy Wilkinson 06f37f4295 Merge branch '2.3.x'
Closes gh-24053
4 years ago
Andy Wilkinson 2ffb81f0d9 Merge branch '2.2.x' into 2.3.x
Closes gh-24052
4 years ago
Andy Wilkinson 2425dcd200 Do not set Tomcat's key store and key pass when null
Fixes gh-24041
4 years ago
Andy Wilkinson cb24df148f Upgrade to Jetty 9.4.34.v20201102
Closes gh-24047
4 years ago
Andy Wilkinson e447be6df7 Upgrade to Jetty 9.4.34.v20201102
Closes gh-24046
4 years ago
Scott Frederick 8f39ebf781 Merge branch '2.3.x'
Closes gh-24043
4 years ago
Scott Frederick 62aa1b7aaf Narrow criteria for hidden property paths
A previous change intended to prevent temporary directories created as
an implementation detail of mounting volumes on kubernetes pods from
being used as a source for property files had a side-effect of also
preventing other types of hidden directories from being recognized. This
commit narrows the criteria for considering a directory as hidden,
using the kubernetes `..` prefix convention instead of the Unix `.`
prefix.

Fixes gh-23983
4 years ago
Andy Wilkinson bb5faeaabe Correct cross-reference in reference documentation
See gh-24033
4 years ago
Andy Wilkinson 21eb46739c Merge branch '2.3.x'
Closes gh-24033
4 years ago
Andy Wilkinson 84cee76700 Merge branch '2.2.x' into 2.3.x
Closes gh-24032
4 years ago
Andy Wilkinson d5980be623 Clarify documentation for relaxed binding of environment variables
Closes gh-22974
4 years ago
Andy Wilkinson f3648d6fe1 Merge branch '2.3.x'
Closes gh-24030
4 years ago
Andy Wilkinson e83f3f40be Merge branch '2.2.x' into 2.3.x
Closes gh-24029
4 years ago
Andy Wilkinson a8b8f43180 Improve description of spring.datasource.initialization-mode
Closes gh-21121
4 years ago
Andy Wilkinson a1af99640e Merge branch '2.3.x'
Closes gh-24026
4 years ago
Andy Wilkinson 28f7bc37a5 Merge branch '2.2.x' into 2.3.x
Closes gh-24025
4 years ago
Andy Wilkinson c289ba0c2c Recommend disabling context root redirects with proxied Tomcat
Closes gh-22908
4 years ago
Andy Wilkinson a4505eaeb0 Merge branch '2.3.x'
Closes gh-24024
4 years ago
Andy Wilkinson 81f672eae3 Merge branch '2.2.x' into 2.3.x
Closes gh-24023
4 years ago
Andy Wilkinson 28ccf54b21 Ignore schema username when auto-configuring a test DB
Previously, when an embedded test database was being auto-configured
any schema username and password specified by the user would result
in a separate embedded test database being created to load the schema.
This then left the actual test database without the schema causing
test failures.

This commit updates the test database auto-configuration to set the
schema username to an empty string in a property source that's added
first to the environment's property sources. This causes any schema
username configured by the user to be ignored, preventing the creation
of a separate database for schema.sql processing.

Fixes gh-19321
4 years ago
Andy Wilkinson 2814f91fbf Merge branch '2.3.x'
Closes gh-24022
4 years ago
Andy Wilkinson 7c209478b6 Merge branch '2.2.x' into 2.3.x
Closes gh-24021
4 years ago
Pascal Schumacher 5472fcf433 Fix typo in Spring Session documentation
See gh-24020
4 years ago
Andy Wilkinson 6cb5a98036 Merge branch '2.3.x'
Closes gh-24019
4 years ago
Andy Wilkinson b2a058b6fe Merge branch '2.2.x' into 2.3.x
Closes gh-24018
4 years ago
Andy Wilkinson 2f280b01e1 Improve Spring Session back-off documentation
Closes gh-23151
4 years ago
Andy Wilkinson bbad377ecc Merge branch '2.3.x'
Closes gh-24017
4 years ago
Andy Wilkinson f3d4b3e5ac Allow entries to be streamed from JarURLConnections' jar file
Fixes gh-23821
4 years ago
Andy Wilkinson f4e90f4512 Merge branch '2.3.x'
Closes gh-24016
4 years ago
Andy Wilkinson d1a9dba25d Polish "Avoid repeated calls of WebFlux and MVC registrations' getters"
See gh-23999
4 years ago
Andy Wilkinson 4c777c6df7 Deprecate classpath logging listener and stop registering by default
Closes gh-23138
4 years ago
Michal Růžička 2aac5c0095 Avoid repeated calls of WebFlux and MVC registrations' getters
See gh-23999
4 years ago
Andy Wilkinson 73c444262b Merge branch '2.3.x'
Closes gh-24015
4 years ago
Andy Wilkinson f9ff39a7a6 Merge branch '2.2.x' into 2.3.x
Closes gh-24014
4 years ago
Andy Wilkinson 35bff55097 Ensure that Quartz can be auto-configured with a Quartz-specific TM
Previously, Quartz could be configured with a specific DataSource
using `@QuartzDataSource` but it was not possible to configure a
Quartz-specific transaction manager. This could result in the
different DataSources being used by Quartz itself and Quart'z
DataSourceTransactionManager.

This commit introduces a new qualifier, `@QuartzTransactionManager`,
that can be used to avoid the above-described problem. Any
`@QuartzTransactionManager`-annotated bean will be used by the
Quartz auto-configure configuration instead of the application's main
`TransactionManager`. If no such qualified bean is present, the
application's main TransactionManager, if any, will be used as before.

Fixes gh-20184
4 years ago
Andy Wilkinson d41e739f8c Merge branch '2.3.x'
Closes gh-24013
4 years ago
Andy Wilkinson dc86e8ce30 Merge branch '2.2.x' into 2.3.x
Closes gh-24012
4 years ago
Andy Wilkinson 6548ca4c11 Implement equals and hashCode in TestTypeExcludeFilter
Fixes gh-23978
4 years ago
Andy Wilkinson c722692a8b Polish "Align MustacheViewResolver with other similar resolvers"
See gh-24011
4 years ago
Dave Syer 22693c17f3 Align MustacheViewResolver with other similar resolvers
The `FreeMarkerViewResolver` (and other template-based resolvers) in
Spring Framework avoid using reflection if they know how to
instantiate the view class. This change aligns with them.

See gh-24011
4 years ago
Andy Wilkinson 699f03d5a6 Merge branch '2.3.x'
Closes gh-24010
4 years ago
Andy Wilkinson 2dce4aa42b Merge branch '2.2.x' into 2.3.x
Closes gh-24009
4 years ago
Andy Wilkinson 30a0ccab02 Remove use of `@PostConstruct` from main code
When running on Java 11 (where `@PostConstruct` is no longer part of
the JRE) and without a dependency on jakarta-annotation-api,
`@PostContruct` annotions are silently dropped. This leads to obscure and
hard-to-track down changes in the behaviour of our auto-configuration
as the `@PostConstruct`-annotated methods are not invoked.

To allow users to run on Java 11 without having jakarta-annotation-api
on the classpath, this commit removes use of `@PostConstruct` from main
code. A Checkstyle rule has also been added to prevent its usage in
main code from being reintroduced.

Closes gh-23723
4 years ago
Andy Wilkinson c93d91175d Merge branch '2.3.x'
Closes gh-24007
4 years ago
Andy Wilkinson 2513071b1f Merge branch '2.2.x' into 2.3.x
Closes gh-24006
4 years ago
Andy Wilkinson 622606d85a Make it clearer that only the main DataSource bean may be replaced
Closes gh-23808
4 years ago
Andy Wilkinson c76b246463 Merge branch '2.3.x'
Closes gh-24005
4 years ago
Andy Wilkinson b846143c37 Merge branch '2.2.x' into 2.3.x
Closes gh-24004
4 years ago
Andy Wilkinson d32d65b02c Add tip about providing as much typo info as possible in @Bean methods
Closes gh-22925
4 years ago
Andy Wilkinson dbb954734e Correct replacement for stale-while-revalidate config property
Fixes gh-23980
4 years ago
Andy Wilkinson 8004a821f2 Fix nested test config discovery for sliced tests
Fixes gh-23984
4 years ago
Stephane Nicoll b67d746840 Fix metadata for deprecated logging.file properties
See gh-23609

Closes gh-23995
4 years ago
Stephane Nicoll 62f26ee36f Remove code that's no longer used
Closes gh-23993
4 years ago
Stephane Nicoll 339b21cee7 Merge branch '2.3.x'
Closes gh-23992
4 years ago
Stephane Nicoll 1e9c9b9d73 Add missing default values in configuration properties metadata
Closes gh-23991
4 years ago
Phillip Webb fb59432cf5 Use Graal friendly logging factory implementations
Update `LoggingSystemFactory` class present checks to use a static
final field so that they work better with Graal.

Closes gh-23985
4 years ago
Phillip Webb 298880c260 Polish formatting 4 years ago
izeye 9c35cd41ad Polish
See gh-23986
4 years ago
Scott Frederick f080bb6c25 Fix test that depended on snapshot version
A test case would fail to accurately capture the contents
of the layers.idx file unless the test project contained
at least one non-project snapshot dependency, which was only
true when the Spring Boot version was a snapshot.

See gh-23463
4 years ago
Stephane Nicoll d951f28e16 Upgrade to Micrometer 1.6.0
Closes gh-23525
4 years ago
Andy Wilkinson 1d4a45cf8a Add dependency management for jOOQ's new jooq-kotlin module
Closes gh-23964
4 years ago
Andy Wilkinson c22e655848 Move spring.resources.* properties to spring.web.resources.*
Closes gh-23917
4 years ago
Phillip Webb 929d8fcd3c Update copyright year of changed files 4 years ago
Phillip Webb a41ff4dfab Merge branch '2.3.x' 4 years ago
Phillip Webb b0c2687aa9 Update copyright year of changed files 4 years ago
Andy Wilkinson 5642dc6d13 Merge branch '2.3.x'
Closes gh-23970
4 years ago
Andy Wilkinson 70d9602b3f Merge branch '2.2.x' into 2.3.x
Closes gh-23969
4 years ago
Andy Wilkinson e7eb7739dc Use overriding rather than overridden getter methods in config prop AP
Fixes gh-23966
4 years ago
Andy Wilkinson a8705d19e5 Upgrade to Flyway 7.1.1
Closes gh-23932
4 years ago
Andy Wilkinson 2db8e7eebe Polish "Add liquibase driver class name property"
See gh-23958
4 years ago
Evgeniy Cheban 8a9b31aa69 Add liquibase driver class name property
See gh-23958
4 years ago
Stephane Nicoll dc54394c03 Upgrade to Spring Batch 4.3.0
Closes gh-23963
4 years ago
Stephane Nicoll e962714dd3 Upgrade to Spring Session 2020.0.0
Closes gh-23788
4 years ago
Stephane Nicoll 6f9434ccc4 Upgrade to Spring Integration 5.4.0
Closes gh-23781
4 years ago
Phillip Webb 74e06e8e6a Refine MetadataCollector logic
Update `MetadataCollector` merge logic so that previous items are no
longer added if the current round contains a property of the same name.

Fixes gh-23916
4 years ago
Phillip Webb 23e5fd798c Merge branch '2.3.x'
Closes gh-23960
4 years ago
Phillip Webb b86dcbec72 Merge branch '2.2.x' into 2.3.x
Closes gh-23959
4 years ago
Phillip Webb cf09451ffb Retain inner-class data on incremental compile
Ensure that metadata sourced from inner-types is not deleted when
performing an incremental compile. Prior to this commit, the source
type was searched using the `Outer$Inner` format. This is not supported
`Elements.getTypeElement` so we now convert the names to `Outer.Inner`.

Closes gh-10886
4 years ago
Phillip Webb c0a0c4cbac Show the source jar of a ClasspathResource
Update `TextResourceOrigin` so that it shows the source jar file
of a `ClasspathResource`.

Closes gh-23019
4 years ago
Scott Frederick 04a40a4c68 Provide content-length header to Docker API calls
Docker daemon authorization plugins reject POST or PUT requests that have a
content type `application/json` header but no content length header. This
commit ensures that a content length header is provided in these cases.

This is a cherry-pick of the changes in d5b2836ec9
which were lost in a forward-merge.

Fixes gh-23957
4 years ago
Stephane Nicoll 425a2084ac Upgrade to Spring Kafka 2.5.7
Closes gh-23787
4 years ago
Stephane Nicoll 11b55f650c Upgrade to Spring Kafka 2.3.12
Closes gh-23786
4 years ago
Stephane Nicoll 124c148c51 Upgrade to Spring Integration 5.2.9
Closes gh-23956
4 years ago
Phillip Webb b39d1910bc Fix test failure caused by MavenBuild upgrades
See gh-23937
4 years ago
Scott Frederick d5b2836ec9 Provide content-length header to Docker API calls
Docker daemon authorization plugins reject POST or PUT requests that have a
content type `application/json` header but no content length header. This
commit ensures that a content length header is provided in these cases.

Fixes gh-22840
4 years ago
Andy Wilkinson ab21b55dc4 Revert "Upgrade to Flyway 7.1.0"
This reverts commit a6c6aba40d.

See gh-23932
4 years ago
Phillip Webb d43760ba5a Merge branch '2.3.x'
Closes gh-23938
4 years ago
Phillip Webb d79c23ef89 Upgrade MavenBuild versions
Align versions with those in the main build.

Closes gh-23937
4 years ago
Stephane Nicoll 794a4ea0ab Upgrade to Spring AMQP 2.3.0
Closes gh-23785
4 years ago
Stephane Nicoll d112b8a289 Upgrade to Spring AMQP 2.2.12
Closes gh-23784
4 years ago
Stephane Nicoll 90ee8b5a2a Upgrade to Spring Integration 5.3.3
Closes gh-23780
4 years ago
Stephane Nicoll 47a5d7aab6 Upgrade to Micrometer 1.5.6
Closes gh-23791
4 years ago
Stephane Nicoll f2afd28b9a Upgrade to Spring AMQP 2.2.12
Closes gh-23783
4 years ago
Sebastian Nohn b3c4d5fe5c Upgrade to Log4j 2.13.3 in Maven tests
See gh-23935
4 years ago
Stephane Nicoll 0fe08632eb Upgrade to Spring Data 2020.0.0
Closes gh-23778
4 years ago
Stephane Nicoll a6c6aba40d Upgrade to Flyway 7.1.0
Closes gh-23932
4 years ago
Andy Wilkinson 8f2e58e301 Merge branch '2.3.x'
Closes gh-23933
4 years ago
Andy Wilkinson 58aa34489f Wait for DataSource init before allowing context refresh to complete
Closes gh-22852
4 years ago
Stephane Nicoll b94fe90f24 Upgrade to Spring Data Neumann-SR5
Closes gh-23777
4 years ago
Stephane Nicoll 9c4e5904e7 Upgrade to Micrometer 1.3.15
Closes gh-23790
4 years ago
Stephane Nicoll 8bd7cc417e Upgrade to Spring Data Moore-SR11
Closes gh-23776
4 years ago
Stephane Nicoll 472c563451 Merge branch '2.3.x'
Closes gh-23931
4 years ago
Stephane Nicoll 0424689aee Merge branch '2.2.x' into 2.3.x
Closes gh-23930
4 years ago
Stephane Nicoll 93e36a97ab Remove version elements from Maven plugin documentation
This commit removes `<version>` from the Maven Plugin documentation
where it makes sense so that versions aren't hardcoded unnecessarily.

Rather, a plugin or dependency management should be in place so those
are not needed.

Closes gh-23909
4 years ago
Stephane Nicoll a3818d690e Fix custom layout example so that tokens are replaced 4 years ago
Andy Wilkinson 74ec5f65d1 Make isPresent check more Graal-friendly
Closes gh-23925
4 years ago
Andy Wilkinson 506f7acc8d Streamline use of TestContextAnnotationUtils
See gh-12470
4 years ago
Andy Wilkinson d9084eab67 Provide Mockito with a MockResolver that removes Spring-created proxies 4 years ago
Andy Wilkinson 6b437ece54 Inherit enclosing class's configuration in nested tests
Fixes gh-12470
4 years ago
Stephane Nicoll b0a1c2a740 Upgrade to Spring HATEOAS 1.2.0
Closes gh-23779
4 years ago
Stephane Nicoll 65d76f2fe8 Upgrade to Mockito 3.6.0
Closes gh-23924
4 years ago
Stephane Nicoll a55325f0ad Upgrade to Lettuce 6.0.1.RELEASE
Closes gh-23923
4 years ago
Andy Wilkinson 12dcf147be Polish
See gh-21454
4 years ago
Stephane Nicoll c02b16eeeb Upgrade to Lettuce 5.3.5.RELEASE
Closes gh-23922
4 years ago
Phillip Webb 2e2b371679 Add auto-trimming support to configtree sources
Update `ConfigTreePropertySource` with an option to automatically trim
trailing new-line characters.

Closes gh-23826
4 years ago
Phillip Webb cf673cee55 Use stricter document properties separator logic
Update `OriginTrackedPropertiesLoader` with stricter logic around the
document separator. If the preceding or following lines are comments
then the separator will be ignored.

Closes gh-22963
4 years ago
Phillip Webb 0588e989af Don't adapt RandomPropertySource
Stop adapting `RandomPropertySource` to `ConfigurationPropertySource`
since it's not useful as a binding source.

Closes gh-21659
4 years ago
Phillip Webb 11a153869f Polish 'Support nested @PropertyMapping annotations'
See gh-23146
4 years ago
Stefan Zwanenburg edf4c833c2 Support nested @PropertyMapping annotations
Update `AnnotationsPropertySource` so that nested annotations are
supported. Prior to this commit, annotations annotated with
`@PropertyMapping` that contained nested annotation attributes would
result in instances of `TypeMappedAnnotation` being used as properties.
This usually led to errors due to not being able to convert those to
Strings. This commit makes it so that nested annotations are recursively
mapped to properties. This should allow for more complex configuration
to be mapped from annotations.

See gh-23146
4 years ago
Andy Wilkinson f60f3cb38e Exclude property beans from method validation
Exclude `@ConfigurationProperties` beans from method validation so
that `@Validated` can be used on final classes without the method
validation post-processor throwing an exception.

This commit introduces a `FilteredMethodValidationPostProcessor` class
which will use `MethodValidationExcludeFilters` to exclude beans from
method validation processing. Using `@EnableConfigurationProperties`
will automatically register an appropriate filter.

Closes gh-21454
4 years ago
Phillip Webb a0862f9146 Support wildcard configtree imports
Update `ConfigTreeConfigDataResource` so that a wildcard suffix can
be used to import multiple folders. The pattern logic from
`StandardConfigDataLocationResolver` has been extracted into a new
`LocationResourceLoader` class so that it can be reused.

Closes gh-22958
4 years ago
Stephane Nicoll 8b6b0505fb Upgrade to Spring Framework 5.3.0
Closes gh-23774
4 years ago
Andy Wilkinson b9516bc77c Await registration of http.server.requests meter
Previously, the test would make an HTTP request and, as soon as the
response was received, it would check the presence and value of the
http.server.requests meter. This create a race condition between the
meter being registered once the response had been flushed and the
meter's presence being checked. If the check won the race, the test
would fail.

This commit updates the test to wait for up to 5 seconds for the
meter to be present and have a count of 1, matching the single request
that has been made.

Fixes gh-23919
4 years ago
Andy Wilkinson 9854e3019b Polish 4 years ago
Stephane Nicoll 41f3470e09 Upgrade to Spring Framework 5.2.10
Closes gh-23526
4 years ago
Stephane Nicoll 8b49f792cb Upgrade to Spring Framework 5.2.10
Closes gh-23773
4 years ago
Stephane Nicoll 4561f068aa Upgrade to Rsocket 1.1.0
Closes gh-23912
4 years ago
Andy Wilkinson 689d0c8307 Remove skipping of spring-boot-* projects from DevTools restart triggers
Closes gh-23158
4 years ago
Andy Wilkinson 1c4b4cb0cd Provide config properties for configuring WebFlux's locale resolution
Previously, the locale context resolver used with WebFlux could only be
configured by provided a custom LocaleContextResolver bean. By
constrast, when using Spring MVC, the spring.mvc.locale and
spring.mvc.locale-resolver properties could be used to configure the
locale and the resolver (fixed or Accept header) respectively.

This commit introduces spring.web.locale and spring.web.locale-resolver
properties and deprecates their spring.mvc equivalents. The new
properties can be used to configure locale resolution with either
Spring MVC or WebFlux.

Closes gh-23449
4 years ago
Phillip Webb ef89eb6dfb Add @ConditionalOnDefaultWebSecurity annotation
Add a dedicate condition annotation to detect when Spring Security is
available but has not been configured by the user. The new annotation
helps simplify quite a few of our auto-configuration classes.

See gh-23421
4 years ago
Madhura Bhave 0818f27f44 Configure WebSecurity using WebSecurityCustomizer
Replace `WebSecurityConfigurer` and `WebSecurityConfigurerAdapter`
configurations with `WebSecurityCustomizer` or `SecurityFilterChain`
beans.

Closes gh-23421
4 years ago
Stephane Nicoll ca08664ebd Upgrade to Reactor 2020.0.0
Closes gh-23771
4 years ago
Stephane Nicoll e6c63b5b4e Polish
See gh-23914
4 years ago
Stephane Nicoll a7f6c3652a Upgrade to Kotlin Coroutines 1.4.0
Close gh-23913
4 years ago
Stephane Nicoll 4769889c6b Upgrade to JUnit 4.13.1
Closes gh-23876
4 years ago
Stephane Nicoll 30a9424f6c Upgrade to JUnit Jupiter 5.6.3
Closes gh-23915
4 years ago
Stephane Nicoll f727db3866 Upgrade to RSocket 1.0.3
Closes gh-23911
4 years ago
Stephane Nicoll d5cb6c1a4f Upgrade to RSocket 1.0.3
Closes gh-23910
4 years ago
Andy Wilkinson fafc0a91e3 Register @WebListeners in a way that allows them to register components
Previously, @WebListeners were discovered via custom component scanning
and then registered programmatically via the ServletContext. The servlet
spec requires any ServletContextListener registered in this manner to be
prohibited from programatically configuring servlets, filters, and
listeners. This left us not strictly complying with the servlet spec
as a ServletContextListener registered via a @WebListener annotation
should be able to programatically configure other components.

This commit updates WebListenerHandler to register each @WebListener
component directly with Jetty, Tomcat, or Undertow rather than via the
ServletContext API. This ensure that any @WebListener-annoated
ServletContextListener registered via servlet component scanning is
able to programatically register servlets, filters, and listeners.

There is a small chance that this will be a breaking change for some
users:

1. The ServletListenerRegistrationBeans that were previously defined
   for each @WebListener will now be
   WebListenerHandler.WebListenerRegistrars
2. Each @WebListener-annotated class will now be instantiated by
   Jetty, Tomcat, or Undertow. Jetty and Tomcat both require the class
   to be public and have a public default constructor. Previously,
   a package-private class or default constructor could be used as the
   instantiation was performed by Spring Framework. Undertow is not
   affected as it can instantiate a package-private type.

Fixes gh-18303
4 years ago
Scott Frederick 1a3f810cd8 Prevent serialization exception from Env actuator
When `EnvironmentEndpoint` is building a response to return to the
web infrastructure, it creates a data structure containing all
property values from all property sources. Prior to this commit, it
was possible for the response data structure to contain property
values that were not serializable to JSON by Jackson, which would
cause an exception to be thrown by the web infrastructure. This
commit ensures the data structure is serializable to JSON by
ensuring property values are primitives or Strings, and returning
a placeholder value if a property value is of any other type.

Fixes gh-23805
4 years ago
Stephane Nicoll 3119e85a32 Upgrade to Reactor Dysprosium-SR13
Closes gh-23770
4 years ago
Stephane Nicoll 7fa5ff46f7 Upgrade to Reactor Dysprosium-SR13
Closes gh-23769
4 years ago
Phillip Webb 5e26954068 Provide default charset properties
Fixed gh-23827
4 years ago
Andy Wilkinson abfdfc3e5f Merge branch '2.3.x'
Closes gh-23908
4 years ago
Stephane Nicoll 9ab3abb728 Add support for SAML2 relying party registration's decryption credentials
Closes gh-23705
4 years ago
Andy Wilkinson c0bb6ff667 Await registration of http.server.requests meter
Previously, the test would make an HTTP request and, as soon as the
response was received, it would check the presence and value of the
http.server.requests meter. This create a race condition between the
meter being registered once the response had been flushed and the
meter's presence being checked. If the check won the race, the test
would fail.

This commit updates the test to wait for up to 5 seconds for the
meter to be present and have a count of 1, matching the single request
that has been made.

Fixes gh-23863
4 years ago
Andy Wilkinson 10f887a5ad Introduce management base-path property for servlet and reactive actuator
Previously, the base path of a servlet-based management server could be
configured using management.server.servlet.context-path but there was no
equivalent property for WebFlux.

This commit introduces a new property, management.server.base-path,
that can be used with both servlet and reactive management servers. The
existing servlet-specific property has been deprecated in favour of the
new general property. When using the servlet stack, if both the general
property and the servlet-specific property are set, the new general
property takes precedence. When using the reactive stack, only the new
general property is considered.

Closes gh-22906
4 years ago
Andy Wilkinson 653e64c4ef Upgrade to SendGrid 4.6.7
Closes gh-23906
4 years ago
Andy Wilkinson 1cf842cbf7 Upgrade to Rabbit AMQP Client 5.10.0
Closes gh-23905
4 years ago
Andy Wilkinson 5a35d3fd3d Upgrade to R2DBC Bom Arabba-SR8
Closes gh-23904
4 years ago
Andy Wilkinson 7fd392e66b Upgrade to Postgresql 42.2.18
Closes gh-23903
4 years ago
Andy Wilkinson e57b65d719 Upgrade to Oracle Database 19.8.0.0
Closes gh-23902
4 years ago
Andy Wilkinson b414fd1f3d Upgrade to Nimbus JOSE JWT 9.1.1
Closes gh-23901
4 years ago