Commit Graph

2863 Commits (1e3803e6ae3b46bb83a629e639716e1e6c941f59)

Author SHA1 Message Date
Andy Wilkinson d15ec4cdb4 Upgrade to Liquibase 4.2.2
Closes gh-24952
4 years ago
Madhura Bhave cf8e667795 Fix formatting 4 years ago
Madhura Bhave 06263c46ce Upgrade to Spring Security 5.5.0-M1
Closes gh-24937
4 years ago
Stephane Nicoll 4c2a7db4f8 Upgrade to Spring Data 2021.0.0-M2
Closes gh-24931
4 years ago
Stephane Nicoll 012a199773 Remove Spring Data Solr support
In preparation to the upgrade to Spring Data 2021.0, this commit removes
auto-configuration for Spring Data Solr.

Closes gh-24939
4 years ago
Stephane Nicoll 3e376b955d Fix build failure
See gh-24943
4 years ago
Stephane Nicoll 2f4d4c7b5d Merge branch '2.4.x' 4 years ago
Stephane Nicoll 56ce5bdf44 Merge branch '2.3.x' into 2.4.x
See gh-24943
4 years ago
Stephane Nicoll 244a6ac7e5 Polish "Deprecate Spring Data Solr"
See gh-24942
4 years ago
Stephane Nicoll 85729d2a8a Merge branch '2.3.x' into 2.4.x
Closes gh-24943
4 years ago
Stephane Nicoll 10b4cb8cb5 Deprecate Spring Data Solr support
Closes gh-24942
4 years ago
Andy Wilkinson 294231efe7 Merge branch '2.4.x'
Closes gh-24883
4 years ago
Andy Wilkinson 7b4fbd2c85 Document WebMvcProperties.MatchingStrategt as being since 2.4.0
Closes gh-24875
4 years ago
Stephane Nicoll 7592c98d5c Merge branch '2.4.x'
Closes gh-24871
4 years ago
izeye 21db14227c Fix property name for spring.dao.exceptiontranslation.enabled
See gh-24867
4 years ago
Stephane Nicoll 742983fc5e Update copyright of changed file
See gh-24866
4 years ago
izeye 41fcc427c6 Restore persistOfNullThrowsIllegalArgumentExceptionWithoutExceptionTranslation()
See gh-24866
4 years ago
Stephane Nicoll dcc0ca0df9 Polish contribution
See gh-24862
4 years ago
izeye 3aea8b37a0 Polish
See gh-24862
4 years ago
Stephane Nicoll bcc1331f85 Restore missing deprecated metadata for Bitronix
See gh-24806
4 years ago
izeye e7350503b8 Polish
See gh-24837
4 years ago
Stephane Nicoll 2c2c160579 Remove deprecated code
See gh-24806
4 years ago
Stephane Nicoll a18f01addf Remove bitronix support
See gh-24806
4 years ago
Stephane Nicoll a788ef4958 Merge branch '2.4.x'
Closes gh-24842
4 years ago
Stephane Nicoll 2072e7242a Merge branch '2.3.x' into 2.4.x
Closes gh-24841
4 years ago
Stephane Nicoll 283ed48d63 Unwrap Datasource against an actual interface
This commit updates DataSourceUnwrapper to take a separate interface
type argument if the target datasource has to be unwrapped, given that
the target type is usually not an interface.

Closes gh-24697
4 years ago
Andy Wilkinson 31fe24c451 Merge branch '2.4.x'
Closes gh-24791
4 years ago
Andy Wilkinson 5cae1a2842 Merge branch '2.3.x' into 2.4.x
Closes gh-24790
4 years ago
Andy Wilkinson 7b1d07fa98 Use SpringSessionDataSource-annotated DataSource when one is available
Fixes gh-24624
4 years ago
Phillip Webb 66598ed4ad Merge branch '2.4.x' 4 years ago
Phillip Webb bd21c43d71 Simplify resource registration
Simplify resource registration by using the new Spring Framework API
that allows `Resource` instances to be registered directly.

See gh-24745
4 years ago
Phillip Webb a8f291b252 Merge branch '2.4.x'
Closes gh-24749
4 years ago
Phillip Webb f1fcfa6fc3 Merge branch '2.3.x' into 2.4.x
Closes gh-24748
4 years ago
Phillip Webb 72dd3b5628 Merge branch '2.2.x' into 2.3.x
Closes gh-24747
4 years ago
Phillip Webb f9e3e0d532 Register default resource path using a Resource
Update `WebMvcAutoConfiguration` so that the default "/" resource path
is registered directly as a `ServletContextResource`.

Closes gh-24745
4 years ago
Phillip Webb 21a08ed37d Merge branch '2.4.x'
Closes gh-24746
4 years ago
Phillip Webb 53a6fa2fed Respect spring.dao.exceptiontranslation setting
Update `DataSourceTransactionManagerAutoConfiguration` to respect
the `spring.dao.exceptiontranslation` setting. If `exceptiontranslation`
is `false` then we create a classic `DataSourceTransactionManager`
rather than a `JdbcTransactionManager`.

Fixes gh-24321
4 years ago
Phillip Webb 3fc1d319fe Merge branch '2.4.x' 4 years ago
Phillip Webb cff3e4c831 Fix tests following upstream framework changes 4 years ago
Stephane Nicoll 6bf74e5752 Polish 4 years ago
Stephane Nicoll 0897af0dfa Add customizer for jOOQ's configuration
This commit adds a customizer hook point for jOOQ's configuration. When
such a bean is present, it is invoked with the auto-configuration
`Configuration`. This effectively supersedes checking for a number of
jOOQ `*Provider`beans. The existing beans are still honoured, in a
deprecated fashion.

Closes gh-24732
4 years ago
Stephane Nicoll 8a6e79dc8b Configure Couchbase to use the application's ObjectMapper
Closes gh-24616
4 years ago
Scott Frederick bd4c6e51fa Merge branch '2.4.x'
Closes gh-24687
4 years ago
Scott Frederick ef7a82756e Allow overriding ThemeResolver and FlashMapManager beans
Previously, an error would occur when a user contributed a
`ThemeResolver` or `FlashMapManager` bean because those beans would
would not properly override the default beans provided by Spring
Framework. This commit adds conditional auto-configuration of these
bean types, preferring user-provided beans and falling back to
Framework-provided defaults.

Fixes gh-24207
4 years ago
Stephane Nicoll 8cd07dbc60 Polish
See gh-21286
4 years ago
Stephane Nicoll e4618cfb8d Delete ErrorProperties.IncludeStacktrace
Closes gh-21286
4 years ago
Stephane Nicoll 1fd17cf641 Add support for Elasticsearch sniffer
Closes gh-24174
4 years ago
Stephane Nicoll ad6b01d6d0 Add control connection timeout property for Cassandra
Closes gh-24189
4 years ago
Stephane Nicoll 5000051891 Merge branch '2.4.x'
Closes gh-24589
4 years ago
Stephane Nicoll 0691ba600f Polish "Detect Persistent and RelationshipProperties with Neo4j"
See gh-24239
4 years ago
Gerrit Meier ab4b1c4e61 Detect Persistent and RelationshipProperties with Neo4j
See gh-24239
4 years ago
Stephane Nicoll ec683605d4 Polish "Allow to configure Kafka Listener's onlyLogRecordMetadata"
See gh-24582
4 years ago
Martín Dacosta b539e2e749 Allow to configure Kafka Listener's onlyLogRecordMetadata
See gh-24582
4 years ago
Stephane Nicoll 490a40af20 Polish 4 years ago
Stephane Nicoll 338c8c4fc8 Polish "Allow to configure ActiveMQ Artemis with a broker url"
See gh-24302
4 years ago
Justin Bertram 99b43cb690 Allow to configure ActiveMQ Artemis with a broker url
See gh-24302
4 years ago
Stephane Nicoll a6c6655c82 Polish "Upgrade to Jackson 2.12.0"
Guard breaking change to PropertyNamingStrategies so that we tolerate
older Jackson versions.

See gh-24415
4 years ago
Valery Yatsynovich 1f63b82c5b Upgrade to Jackson 2.12.0
See gh-24415
4 years ago
Stephane Nicoll abbdbb07f6 Polish "Upgrade to Embedded Mongo 3.0.0"
See gh-24254
4 years ago
paulius 2f6b51babd Upgrade to Embedded Mongo 3.0.0
See gh-24254
4 years ago
Phillip Webb 308c2042ee Merge branch '2.4.x' 4 years ago
Phillip Webb 4fba7d0c60 Merge branch '2.3.x' into 2.4.x 4 years ago
Andy Wilkinson fb0f27ce2d Move EMFDependsOnPostProcessor into autoconfigure.orm.jpa
Closes gh-24452
4 years ago
Stephane Nicoll 0dcd9efdac Merge branch '2.4.x'
Closes gh-24509
4 years ago
izeye 8e69a821d5 Use BindResult.orElseGet() where beneficial
See gh-24477
4 years ago
Stephane Nicoll 59910338c9 Polish "Add configuration for Rabbit's key store and trust store algorithm"
See gh-24076
4 years ago
Gong Yi 489062b203 Add configuration for Rabbit's key store and trust store algorithm
See gh-24076
4 years ago
Phillip Webb 72d36e0c07 Update copyright year of changed files 4 years ago
Stephane Nicoll 0d472d6f74 Start building against Spring Data 2020.0.2 snapshots
See gh-24284
4 years ago
Phillip Webb e95c514661 Merge branch '2.3.x'
Closes gh-24412
4 years ago
Phillip Webb 49e754f48b Merge branch '2.2.x' into 2.3.x
Closes gh-24411
4 years ago
Phillip Webb 286ef61071 Narrow auto-configure checkstyle suppressions
Closes gh-21015
4 years ago
Phillip Webb cd5ff6e4af Merge branch '2.3.x'
Closes gh-24404
4 years ago
Phillip Webb 11f285bde5 Merge branch '2.2.x' into 2.3.x
Closes gh-24403
4 years ago
Stephane Nicoll 93d83342d2 Merge branch '2.3.x'
Closes gh-24401
4 years ago
Stephane Nicoll 06671aa50e Stop deferring JPA bootstrap mode by default
This commit changes the default value of bootstrap-mode to "default"
rather than "deferred" so that the JPA infrastructure starts in the
main thread rather than asynchronously.

Closes gh-24249
4 years ago
Phillip Webb 30c27274e2 Merge branch '2.3.x'
Closes gh-24339
4 years ago
Phillip Webb 5f351a6983 Merge branch '2.2.x' into 2.3.x
Closes gh-24338
4 years ago
Phillip Webb 837fc83527 Fix checkstyle header violations
See gh-24337
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
dreis2211 5ef6e09c64 Fix deprecation warnings in javadoc comments
See gh-24120
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 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
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 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
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 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 dbb954734e Correct replacement for stale-while-revalidate config property
Fixes gh-23980
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
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 b0c2687aa9 Update copyright year of changed files 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
Andy Wilkinson ab21b55dc4 Revert "Upgrade to Flyway 7.1.0"
This reverts commit a6c6aba40d.

See gh-23932
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
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
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 e6c63b5b4e Polish
See gh-23914
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
Stephane Nicoll 9ab3abb728 Add support for SAML2 relying party registration's decryption credentials
Closes gh-23705
4 years ago
Andy Wilkinson 708c43a8d1 Upgrade to Flyway 7.0.4
Closes gh-23892
4 years ago
Stephane Nicoll e0f123e676 Do not use servlet session timeout for reactive web applications
This commit fixes the auto-configuration of Spring Session to use
"server.servlet.session.timeout" as a fallback for Servlet-based web
applications only.

Closes gh-23752
4 years ago
Stephane Nicoll cb31d9547c Merge branch '2.3.x' 4 years ago
Stephane Nicoll d1e503602b Polish 4 years ago
Brian Clozel 5fceb9d5b7 Change favicon StaticResourceLocation
Prior to this commit, the `StaticResourceLocation` for favicons would
point to `"/**/favicon.ico"`. This location does not reflect the current
web development landscape, since the png format and size variants are
not supported here. Also, the `"**"` pattern can be costly at runtime
and is deprecated by the new path pattern support in Spring Framework
(see gh-22833).

This commit changes the default locations to `"/favicon.*","/*/icon-*"`,
supporting common use cases such as `"/favicon.ico"`, `"/favicon.png"`
and `"/icons/icon-48x48.png"`.

Closes gh-23126
4 years ago
Stephane Nicoll d0975d659f Polish "Remove RabbitMQ AutoConfig Boolean Coercion"
See gh-23799
4 years ago
Gary Russell 32ce453997 Remove RabbitMQ AutoConfig Boolean Coercion
See gh-23799
4 years ago
Andy Wilkinson 2d8528d5bd Adapt to deprecation of StringUtils.isEmpty(Object)
See gh-23774
4 years ago
Stephane Nicoll 17e12ea025 Polish "Add configuration options for RabbitMQ's batch listener config"
See gh-23766
4 years ago
Gary Russell 3aa247f1ca Add configuration options for RabbitMQ's batch listener config
See gh-23766
4 years ago
Stephane Nicoll e77dc60744 Add configuration properties for SAML2 relying party registration's ASM
This commit allows to configure the location and binding of the
Assertion Consumer Service used by a SAML2 relying party.

Closes gh-23746
4 years ago
Stephane Nicoll 72eaf93dba Polish assertions
See gh-23762
4 years ago
izeye 0e50e87e58 Polish
See gh-23762
4 years ago
Andy Wilkinson a0afb73923 Merge branch '2.3.x'
Closes gh-23751
4 years ago
Andy Wilkinson a754b791a2 Merge branch '2.2.x' into 2.3.x
Closes gh-23750
4 years ago
Andy Wilkinson 11bc62fb83 Stop using PostConstruct to default session timeout to ServerProperties'
Fixes gh-23716
4 years ago
Andy Wilkinson 4a38401cef Align relying party entity ID property with Spring Security
Closes gh-23745
4 years ago
Stephane Nicoll dd74810c80 Revert "Fix detection logic for embedded databases"
This reverts commit c4a5a34702.

See gh-23721
4 years ago
Asha Somayajula c4a5a34702 Fix detection logic for embedded databases
Closes gh-23721
4 years ago
Stephane Nicoll c0b267feb4 Polish "Fix detection logic for embedded databases"
See gh-23693
4 years ago
Asha Somayajula ab02084e7b Fix detection logic for embedded databases
See gh-23693
4 years ago
Andy Wilkinson d0c6dbc2c7 Rename eagerInitFilters to align with Undertow's naming
Closes gh-23674
4 years ago
Stephane Nicoll b960fa3237 Polish "Add configuration options for Kafka Stream's CleanupConfig"
See gh-23636
4 years ago
Adrien Bennadji f4799c7484 Add configuration options for Kafka Stream's CleanupConfig
See gh-23636
4 years ago
Johnny Lim 4a26e11268 Polish
See gh-23634

Closes gh-23634
4 years ago
Andy Wilkinson a64f2699cc Configure Undertow not to presever path on forward by default
Closes gh-23619
4 years ago
Andy Wilkinson 5d5afbc70d Merge branch '2.3.x'
Closes gh-23677
4 years ago
Andy Wilkinson 0abe38d478 Merge branch '2.2.x' into 2.3.x
Closes gh-23676
4 years ago
Andy Wilkinson 7fc345f587 Apply server.undertow.eager-filter-init to factory
Fixes gh-23675
4 years ago
Stephane Nicoll 2577c67185 Fix mapping of outputQueryResults property
Closes gh-23645
4 years ago
Stephane Nicoll 679bd34ea4 Upgrade to Flyway 7.0.2
Closes gh-23645
4 years ago
Stephane Nicoll d7cf8fae5c Fix formatting 4 years ago
Stephane Nicoll 34c4c3f235 Expose cache metrics for Redis
This commit adds support for Redis cache metrics. Users can opt-in for
statistics using the "spring.cache.redis.enable-statistics" property.

Closes gh-22701
4 years ago
Stephane Nicoll 5beeeac4b3 Polish "Prefer JdbcTransactionManager over DataSourceTransactionManager"
See gh-23672
4 years ago
Marten Deinum f9d50ee86a Prefer JdbcTransactionManager over DataSourceTransactionManager
Spring 5.3 introduced the JdbcTransactionManager with exception
translation on commit and rollback. This commit updates the
auto-configuration to use this implementation rather than
DataSourceTransactionManager.

See gh-23672
4 years ago
Phillip Webb 2c487f7cb8 Polish 4 years ago
Andy Wilkinson 1d610fe1c8 Add configuration properties for Flyway 7's new config options
Closes gh-23579
4 years ago
Andy Wilkinson 847aecf621 Upgrade to Flyway 7.0.0
Closes gh-23514
4 years ago
Stephane Nicoll ebc9c575e3 Allow to customize RSocketServer's fragment size
Closes gh-23247
4 years ago
Stephane Nicoll 5feaf2bc1a Polish "Polish empty string checks"
See gh-23550
4 years ago
Santhoshkumar. P 5cb07e292d Polish empty string checks
See gh-23550
4 years ago
Stephane Nicoll 294af45bb3 Replace reflection call in HttpMessageConverters
Closes gh-23485
4 years ago
dreis2211 ecee9c0f9b Avoid unnecessary explicit initialization of Atomics
Constructor calls like new AtomicInteger(0) cause a volatile write that
can be saved in cases where the constructor parameter is the default
value.

See gh-23575
4 years ago
dreis2211 efbbd8b367 Improve performance of DispatcherServletRegistrationCondition
See gh-23554
4 years ago
Stephane Nicoll c4e1b4f5dd Polish "Add configuration option for channelRpcTimeout"
See gh-23564
4 years ago
Jasmine Howard baa9d129f2 Add configuration option for channelRpcTimeout
This commit adds a configuration option to configure
RabbitConnectionFactory's channelRpcTimeout property.

See gh-23564
4 years ago
Madhura Bhave 351929a616 Merge branch '2.3.x'
Closes gh-23570
4 years ago
Madhura Bhave e2289e2f21 Merge branch '2.2.x' into 2.3.x
Closes gh-23569
4 years ago
Madhura Bhave c0f158dffd Polish "Do not fail if h2Console bean cannot connect to db"
See gh-23566
4 years ago
Shraddha Yeole 2d76de29ff Do not fail if h2Console bean cannot connect to db
See gh-23566
4 years ago
Madhura Bhave 9a6d52e30d Merge branch '2.2.x' into 2.3.x 4 years ago
Madhura Bhave 3118ca9313 Polish 4 years ago
Andy Wilkinson 9e3a2bbdeb Implement BeanFactoryAware to inject BeanFactory
Closes gh-23543
4 years ago
Stephane Nicoll 366fec33d0 Adapt to API change in Spring Framework 5.3.0 snapshots
See gh-23534
4 years ago
Stephane Nicoll 6254ad634e Merge branch '2.3.x'
Closes gh-23535
4 years ago
Stephane Nicoll cd15cbdc79 Do not execute datasource initialization in a separate thread
This commit makes sure that `data.sql` is performed in the same thread
as the one initializing the JPA container.

Closes gh-22852
4 years ago
Stephane Nicoll 75554ce236 Polish "Add support for Oracle UCP"
See gh-23403
4 years ago
Fabio Grassi a21ab392b6 Add support for Oracle UCP
See gh-23403
4 years ago
Andy Wilkinson a19a565410 Stop registering the default servlet by default
Previously, the default servlet was registered automatically when using
embedded Jetty, Tomcat, or Undertow. However, it is not used by the
majority of applications where Spring MVC's DispatcherServlet will be
the only servlet that's needed. As such configuring the default servlet
was wasting CPU and memory.

This commit changes the default for registering the default servlet to
false. It can be re-enabled by setting
server.servlet.register-default-servlet=true.

Closes gh-22915
4 years ago
Stephane Nicoll 137f4ec980 Merge branch '2.3.x'
Closes gh-23522
4 years ago
Stephane Nicoll 466c1012d6 Merge branch '2.2.x' into 2.3.x
Closes gh-23521
4 years ago
Stephane Nicoll fd3683646a Migrate SessionAutoConfigurationMongoTests to Testcontainers
Closes gh-23512
4 years ago
Stephane Nicoll cc1f7402a7 Associate ResourceLoader with RabbitConnectionFactoryBean
Closes gh-22332
4 years ago
Stephane Nicoll 36382e599c Add support for Redis 6 authentication with username
Closes gh-22702
4 years ago
Stephane Nicoll a5c20a5132 Polish 4 years ago
Stephane Nicoll 4009acf025 Add support for Hazelcast
This commit upgrades to Hazelcast 4.0.3, yet keeping compatibility with
Hazelcast 3.x.

Closes gh-20856
Closes gh-23475
4 years ago
Stephane Nicoll 4d10fbfd52 Rewrite JobLauncherApplicationRunnerTests
This commit rewrites the test to use an in-memory database rather than
the deprecated Map-based arrangement.

Closes gh-23369
4 years ago
Andy Wilkinson 659b459fab Make the auto-configured LocaleContextResolver conditional on missing bean
Closes gh-23419
4 years ago
Stephane Nicoll 1631ae23f5 Allow RestTemplateBuilder to be further customized
Closes gh-23389
4 years ago
Andy Wilkinson 1c6e37b2ac Merge branch '2.3.x'
Closes gh-23409
4 years ago
Andy Wilkinson 55bfef9901 Merge branch '2.2.x' into 2.3.x
Closes gh-23408
4 years ago
Andy Wilkinson 95f26c6358 Configure Flyway with initSqls for any DataSource configuration
Previously, spring.flyway.init-sqls was only applied to Flyway's
configuration if Flyway was being configured to create the DataSource.
If Flyway was being configured to use an existing DataSource, init-sqls
was not applied. This is a hangover from when the init SQLs support was
introduced. At that time, Flyway only supported SQL to initialize the
connection when it was creating the DataSource. Flyway 5.2 added init
SQL support no matter how Flyway's DataSource was configured.

This commit updates FlywayAutoConfiguration to always apply the
init-sqls property to Flyway's configuration. The property's
documentation does not describe the current limitation so this change
should align the behaviour with what the documentation leads people to
expect.

Fixes gh-23392
4 years ago
Phillip Webb 1ae1436211 Refactor BootstrapRegistry support
Refactor `BootstrapRegistry` support following initial prototype work
with the Spring Cloud team.

This update splits the `BootstrapRegistry` API into `BootstrapRegistry`,
`BootstrapContext` and  `ConfigurableBootstrapContext` interfaces and
moves it to the same package as `SpringApplication`.

A new `Bootstrapper` interface has been introduced that can be added
to the `SpringApplication` to customize the `BootstrapRegistry` before
it's used.

Closes gh-23326
4 years ago
Stephane Nicoll 474ab7f69c Adapt tests to deprecations in Spring Batch 4 years ago
Andy Wilkinson 55f939e93b Merge branch '2.3.x'
Closes gh-23321
4 years ago
Andy Wilkinson 409743eddb Merge branch '2.2.x' into 2.3.x
Closes gh-23320
4 years ago
Andy Wilkinson 5a266155b0 Disable proxyBeanMethods on Spring Session config sub-classes
Closes gh-23280
4 years ago
Andy Wilkinson 7562c4eb6f Adapt to WebClient's new exception wrapping
See spring-projects/spring-framework#23842
See gh-23170
4 years ago
Phillip Webb 922b4c04bf Merge branch '2.3.x' 4 years ago
Phillip Webb f5ae58e8e5 Fix deprecation warning
See gh-23256
4 years ago
Phillip Webb f1d9832282 Merge branch '2.3.x'
Closes gh-23259
4 years ago
Phillip Webb 507fae5141 Merge branch '2.2.x' into 2.3.x
Closes gh-23258
4 years ago
Phillip Webb d8232b3c21 Polish 'Allow other "timestamp" types in MVC error model'
See gh-23256
4 years ago
lock14 d1d953819a Allow other "timestamp" types in MVC error model
Remove casting "timestamp" to `java.util.Date` in
`ErrorMvcAutoConfiguration` as the cast is not necessary and it
prevents other types (e.g. `java.time`) from being used.

See gh-23256
4 years ago
Stephane Nicoll 7a8b7b9fa7 Polish "Add separate property for Redis read and connection timeout"
See gh-23137
4 years ago
anshlykov 2527fcac9c Add separate property for Redis read and connection timeout
See gh-23137
4 years ago
Stephane Nicoll 36d4e95254 Merge branch '2.3.x'
Closes gh-23251
4 years ago
Stephane Nicoll 7c13c01cb6 Fix mapping of Cassandra's idle-timeout and heartbeat-interval
Previous to this commit the connection idle timeout and heartbeat
interval were mapped to seconds whereas Cassandra expects ms for all
duration types.

This commit fixes the mapping and removes the default duration unit
since it should be considered ms like every other duration properties.

Closes gh-23249
4 years ago
Brian Clozel 0715750eb3 Polish "Add SSL support to RSocketServer"
See gh-19399
4 years ago
cbono b4810b8b91 Add SSL support to RSocketServer
See gh-19399
4 years ago
Andy Wilkinson 8daf57fdeb Upgrade to Spring Security 5.4.0
The commit also includes an upgrade to Nimbus JOSE JWT 9.0. Spring
Security requires 9.0 and it is not backwards compatible with 8.19.

Closes gh-23225
Closes gh-23242
4 years ago
dreis2211 79ec1401a5 Enable Spring Integration RSocket test again
See gh-23229
4 years ago
Brian Clozel 9e0fd01aae Deprecate resource "app-cache" configuration support
This commit deprecates the
`"spring.resources.chain.html-application-cache"` configuration property
and its support, since the feature has been deprecated in Spring
Framework.

The app-cache manifest feature is being removed from browsers in favor
of web workers.

Closes gh-23228
4 years ago
Stephane Nicoll a73b7bb7dd Polish
This commit makes sure that no high-level client is auto-configured if
a low-level client is registered as a bean.

See gh-22358
4 years ago
Andy Wilkinson aa3c93078e Adapt to deprecation of ReactiveDataAccessStrategy
ReactiveDataAccessStrategy has been deprecated in Spring Data R2BC in
favor of R2dbcConverter (and StatementMapper and UpdateMapper). When
not using Boot, an R2dbcConverter bean is now defined by
AbstractR2dbcConfiguration. This commit updates
R2dbcDataAutoConfiguration to replace the definition of a
ReactiveDataAccessStrategy bean with the definition of an
R2dbcConverter bean.

See gh-23197
4 years ago
Brian Clozel 1d73d4eda7 Remove Elasticsearch RestClient auto-configuration
Prior to this commit, Spring Boot would auto-configure both
Elasticsearch variants: `RestClient` ("Low Level" client) and
`RestHighLevelClient` ("High Level" client).
Since one can be derived from the other, this would create complex and
unclear situations depending on what developers provided with their
configuration.

`RestHighLevelClient` is mostly for actual use of the Elasticsearch API,
with support for specific methods and (de)serialization. On the other
hand, `RestClient` is merely wrapping the Apache HTTP client for
load-balancing support and low level HTTP features.

This commit completely removes the support for `RestClient` in Spring
Boot and now requires the presence of the
`org.elasticsearch.client:elasticsearch-rest-high-level-client`
dependency for REST client support with Elasticsearch.

Closes gh-22358
4 years ago
Andy Wilkinson 016c46c6b3 Temporarily disable Spring Integration RSocket test
See gh-23214
See gh-23010
4 years ago
Stephane Nicoll 73c039e4b8 Fix use of deprecated methods 4 years ago
Stephane Nicoll d2eeb9524f Merge branch '2.2.x' into 2.3.x
See gh-23183
4 years ago
Stephane Nicoll 4b5a3f4ff9 Start building against Spring Framework 5.2.9 snapshots
See gh-23182
4 years ago
Stephane Nicoll 681abcc185 Polish "Configure SAML 2.0 Service Provider via Metadata"
See gh-23045
4 years ago
Josh Cummings 5187c01e39 Configure SAML 2.0 Service Provider via Metadata
See gh-23045
4 years ago
Stephane Nicoll ce169c4d51 Allow to customize how EntityScanner scans entities
This commit adds a protected method that lets an override customize the
configuration of the ClassPathScanningCandidateComponentProvider used
to scan entities.

Closes gh-23154
4 years ago
Andy Wilkinson 84a12c8436 Upgrade to Testcontainers 1.14.3
Closes gh-23122
4 years ago
Stephane Nicoll 674ad85cdb Polish "Add support for RabbitMQ's addressShuffleMode property"
See gh-23091
4 years ago
Jonghan Kim 4b77e2e205 Add support for RabbitMQ's addressShuffleMode property
See gh-23091
4 years ago
Johnny Lim e48af31ced Polish
See gh-23081
4 years ago
Stephane Nicoll 28b938a229 Merge branch '2.3.x'
Closes gh-23088
4 years ago
dreis2211 d8ba7dd4d0 Remove unused methods
See gh-23086
4 years ago
Andy Wilkinson e9ab269b3b Polish "Add a configuration property for KLC's idleBetweenPolls"
See gh-23048
4 years ago
hoaphan 03a8937d5c Add a configuration property for KLC's idleBetweenPolls
See gh-23048
4 years ago
Stephane Nicoll 085091dbe3 Adapt auto-configurations to back-off in presence of TransactionManager
Previous to this commit, an auto-configuration would create a
PlatformTransactionManager if none is present and others conditions are
met. Spring Framework now has the notion of TransactionManager, a parent
interface that gathers both PlatformTransactionManager and
ReactiveTransactionManager.

Spring Boot should not be in a situation where both managers are defined
out-of-the-box. This commit makes sure to back-off if any
TransactionManager is available.

Closes gh-22851
4 years ago
Stephane Nicoll f191b7513d Polish 4 years ago
Andy Wilkinson 7a5392d6bd Polish 4 years ago
Stephane Nicoll 640000c0bb Disable file system preference for Freemarker templates
Previously to this commit, a project that has several classpath
locations matching the template path may lead to some of those
locations to be ignored if one of them is a directory. This can easily
happen if you run your tests in your IDE.

This commit changes the default of "preferFileSystemAccess" to
false so that the complete classpath is always considered.

Closes gh-23051
4 years ago
Stephane Nicoll deee3606c3 Merge branch '2.3.x'
Closes gh-23064
4 years ago
Stephane Nicoll 0374ed2a0c Merge branch '2.2.x' into 2.3.x
Closes gh-23063
4 years ago
Stephane Nicoll 5b0f22e8fe Fix unintended import on commons lang
Closes gh-23059
4 years ago
Stephane Nicoll aed49c0631 Add configuration option for GridFsTemplate's bucket
Closes gh-22854
4 years ago
Phillip Webb ea8762c484 Update copyright year of changed files 4 years ago
Phillip Webb 2fb08ca48f Merge branch '2.3.x' 4 years ago
Phillip Webb 15a0cbc96b Update copyright year of changed files 4 years ago
Scott Frederick b7fdf8fe87 Preserve user-provided values in MongoClientSettings
Prior to this commit, values from MongoProperties would always
overwrite matching fields in MongoClientSettings. This commit
preserves all values in MongoClientSettings if the client app
provides the MongoClientSettings bean, and only overwrites from
MongoProperties if no MongoClientSettings bean is provided.

Fixes gh-22321
4 years ago
Stephane Nicoll 8c0318edc7 Polish "Consider RecordFilterStrategy in Kafka auto-configuration"
See gh-22973
4 years ago
anshlykov f68dfde35e Consider RecordFilterStrategy in Kafka auto-configuration
See gh-22973
4 years ago
Madhura Bhave bbbbe8e4d2 Make security auto-configs back off when SecurityFilterChain present
Closes gh-22739
4 years ago
Stephane Nicoll d4ba55f8d6 Do not configure a ReactiveNeo4jTransactionManager
The current arrangement with Neo4j does not allow us to know for sure
that the user intends to use `@Transactional` for reactive or imperative
operations.

The main reason for that is that the only trigger for the reactive
auto-configuration is the presence of reactor on the classpath given
that the Neo4j driver ships with both styles in the same jar. And
reactor can be on the classpath for a number of reasons that are
unrelated to imperative access (typically `WebClient`).

This commits removes the auto-configuration of the
ReactiveNeo4jAutoConfiguration and makes sure that if the user defines
one, the regular `PlatformTransactionManager` backs off. This is
a temporarily situation until we can provide a better signal that the
user intends to primarily use imperative repositories.

Closes gh-22940
4 years ago
Andy Wilkinson 4398c71d12 Merge branch '2.3.x'
Closes gh-22938
4 years ago
Andy Wilkinson 8c4e6f766c Revert "Merge pull request #21060 from dsyer"
This reverts commit 6547ea56f9, reversing
changes made to e9e4a34e62.

Fixes gh-22039
4 years ago
Stephane Nicoll 947e484001 Merge branch '2.3.x'
Closes gh-22928
4 years ago
Stephane Nicoll d0662e824a Fix default value of server.jetty.accesslog.format
Closes gh-22921
4 years ago
Stephane Nicoll 25e08d2dee Restore handling of certain spring.data.neo4j.* properties
This commit switches the deprecation level of several properties in the
spring.data.neo4j namespace from error and warning. The server URI and
basic authentication can be used in a deprecated fashion to configure
the new neo4j driver.

Closes gh-22653
4 years ago
Phillip Webb 7838c7b072 Polish 'Support ConfigurationClassPostProcessor supplier'
See gh-22858
4 years ago
Dave Syer 06eff45a71 Support ConfigurationClassPostProcessor supplier
Update `SharedMetadataReaderFactoryContextInitializer` to optionally
support a `ConfigurationClassPostProcessor` provided via an instance
`Supplier`.

If the instance supplier is available then we can use that to set the
`MetadataReaderFactory` non-reflectively, instead of using a
`PropertyValue` (and the `BeanWrapper` eventually).

The previous behavior is left as a  fallback and without a change in
Spring Framework will continue to be the default for most applications.

See gh-22858
4 years ago
Andy Wilkinson abf6123bae Upgrade to Kafka 2.5.1
Closes gh-22868
4 years ago
Stephane Nicoll 5bd69fcd61 Merge branch '2.3.x'
Closes gh-22874
4 years ago
Stephane Nicoll dc4de06b35 Restore customization of the Couchbase cache manager
With the upgrade to the new Couchbase SDK and the related changes in
Spring Data Couchbase, CacheManagerCustomizer can no longer be used to
customize the Couchbase cache manager as it is an immutable class.

This commit introduces a dedicated callback for the
CouchbaseCacheManagerBuilder that is used by the auto-configuration and
update the documentation to refer to it with a sample usage.

Closes gh-22573
4 years ago
Andy Wilkinson ca93c8da94 Merge branch '2.3.x'
Closes gh-22856
4 years ago
Andy Wilkinson 1270af90c2 Only enable full path optimization when there's one DispatcherServlet
Previously, UrlPathHelper's full path optimization was enabled when
there was a dispatcher servlet mapped to /. The UrlPathHelper is used
across Spring MVC and if there are multiple dispatcher servlets they
all share the sample UrlPathHelper. This meant that any additional
dispatcher servlets mapping to locations other than / would not be able
to map requests correctly as the UrlPathHelper would use the full path,
ignoring the url mapping of the dispatcher servlet.

This commit updates the MVC auto-configuration so that use of the full
path is only enabled if there's a single dispatcher servlet
registration.

Fixes gh-22682
4 years ago
Andy Wilkinson 969dd35e45 Upgrade to Mockito 3.4.6
Closes gh-22838
4 years ago
Andy Wilkinson 4933b2688f Align with changes in latest Integration snapshots
See gh-22729
4 years ago
Phillip Webb f7f4ff0ac9 Update copyright year of changed files 4 years ago
Stephane Nicoll dac63fc3e5 Polish 4 years ago
Brian Clozel 4ef08425e6 Require RSocket 1.0+
This commit removes usage of methods and classes that were previously
deprecated in RSocket and Spring Framework and have been removed.

Closes gh-22764
4 years ago
Madhura Bhave f0ef47dfad Fix additional deprecations 4 years ago
Madhura Bhave 0d79bd08a6 Fix deprecations 4 years ago
Stephane Nicoll 516582f6d3 Merge branch '2.3.x'
Closes gh-22744
4 years ago
Stephane Nicoll 621f026499 Polish "Support configuration of entityId for a SAML Relying Party"
See gh-22258
4 years ago
Danilo Piazzalunga 5352ec1cba Support configuration of entityId for a SAML Relying Party
See gh-22258
4 years ago
Stephane Nicoll 589669d0cc Polish "Add support for selecting the Redis client to use"
See gh-22569
4 years ago
bono007 ac651442fa Add support for selecting the Redis client to use
See gh-22569
4 years ago
Andy Wilkinson bc44cd6705 Polish 4 years ago
Andy Wilkinson 7f53aef568 Upgrade to Kafka 2.6.0
Closes gh-22731
4 years ago
Stephane Nicoll 903dc93887 Polish "Add option to disable Redis Cluster dynamic sources refresh"
See gh-22571
4 years ago
bono007 3cfde51a8c Add option to disable Redis Cluster dynamic sources refresh
This commit adds an option to enable/disable the DynamicRefreshSources
setting on the Lettuce cluster toplogy refresh options.

See gh-22571
4 years ago
Stephane Nicoll 36fb86a110 Update to core r2dbc support
This commit adapts the auto-configuration for the new core r2dbc support
in Spring Framework and provides auto-configuration for
R2dbcEntityOperations.

Closes gh-22708
4 years ago
Brian Clozel 3354e0f030 Upgrade to Spring Security 5.4.0-SNAPSHOT
See gh-22668
4 years ago
Brian Clozel 94148e9b54 Upgrade to Couchbase Java Client 3.0.7
Closes gh-22688
4 years ago
Brian Clozel fb1234a22c Upgrade to Reactor 2020.0.0 SNAPSHOTs
See gh-22667
4 years ago
dreis2211 e49e2dfff1 Use Supplier variants of Assert methods
See gh-22699
4 years ago
Stephane Nicoll 9bc71fe44f Polish "Upgrade to Spring Data Neo4j 6"
See gh-22299
4 years ago
Gerrit Meier 15cd343737 Upgrade to Spring Data Neo4j 6
See gh-22299
4 years ago
Stephane Nicoll 5777aa5615 Start building against Spring Data 2020.0.0 snapshots
See gh-22647
4 years ago
Andy Wilkinson 3b54fe20a8 Merge branch '2.3.x'
Closes gh-22642
4 years ago
Andy Wilkinson a580e3a370 Merge branch '2.2.x' into 2.3.x
Closes gh-22641
4 years ago
Andy Wilkinson 72551242fd Allow XADataSource auto-config with no spring.datasource properties
Fixes gh-20229
4 years ago
Brian Clozel 6f2098ad71 Upgrade to Spring Framework 5.3.0-SNAPSHOT
This commit also switches to RSocket SNAPSHOTs and updates the
repository configuration to rely on "libs-snapshot", since the RSocket
SNAPSHOTs are mirrored there.

See gh-22640
4 years ago
Stephane Nicoll 8c418adb9b Polish "Add auto-configuration for Neo4j driver"
See gh-22301
4 years ago
Gerrit Meier 6134ff19f9 Add auto-configuration for Neo4j driver
This commit adds the support for creating a managed instance of the
Neo4j Java driver. The low-level support for Neo4j is helpful in
situations where the high-level abstraction of Spring Data Neo4j is not
needed.

See gh-22301
4 years ago
Andy Wilkinson 4827e84a12 Merge branch '2.3.x'
Closes gh-22581
4 years ago
Andy Wilkinson d0c75aef19 Merge branch '2.2.x' into 2.3.x
Closes gh-22580
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 3444a23765 Merge branch '2.3.x'
Closes gh-22579
4 years ago
Andy Wilkinson f0d90020e5 Merge branch '2.2.x' into 2.3.x
Closes gh-22578
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
Stephane Nicoll 85ed16de13 Merge branch '2.3.x'
Closes gh-22568
4 years ago
Stephane Nicoll 6b32e62142 Fix CacheAutoConfiguration relative order for Couchbase
This commit fixes the auto-configuration of the Couchbase caching
support by configuring the cache once Spring Data Couchbase has gotten
a chance to be processed.

Closes gh-22542
4 years ago
izeye 6eba7c5f10 Polish
See gh-22549
4 years ago
Andy Wilkinson 793d266b7e Merge branch '2.3.x'
Closes gh-22546
4 years ago
Andy Wilkinson c605a6e34b Override other variant of registerBeanDefintions
Fixes gh-22480
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 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
Andy Wilkinson f88038f00d Upgrade to Couchbase Client 3.0.6
Closes gh-22456
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
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 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
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
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 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
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 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
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 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
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