Commit Graph

2133 Commits (502e2a4c64b33cfe65ccc8368ec3e6ce1f786413)

Author SHA1 Message Date
dreis2211 23bf948101 Upgrade to Asciidoctor Gradle JVM 3.0.0
See gh-19953
5 years ago
Stephane Nicoll 00b10e655e Merge branch '2.2.x'
Closes gh-20125
5 years ago
Stephane Nicoll 8f06d819e4 Harmonize JMS connection factory bean names
This commit restores consistent naming for the auto-configured
connection factory.

Closes gh-19565
5 years ago
Stephane Nicoll 466c1ba251 Merge branch '2.2.x'
Closes gh-20118
5 years ago
Stephane Nicoll a425cc1b46 Merge branch '2.1.x' into 2.2.x
Closes gh-20117
5 years ago
Ruslan Stelmachenko 5f7e1ac4f2 Remove unnecessary leading slash in changelog locations
See gh-19926
5 years ago
Stephane Nicoll 32bd845a7d Merge branch '2.2.x'
Closes gh-20116
5 years ago
Stephane Nicoll 66809c6c1e Polish "Fix condition source in OnBeanCondition"
See gh-19948
5 years ago
Jorge Cordoba 547fc30ead Fix condition source in OnBeanCondition
See gh-19948
5 years ago
dreis2211 aa0360e1ba Fix some deprecation warnings
See gh-20108
5 years ago
Stephane Nicoll ddcf5966bb Disable Spring Data Neo4j's open session in view by default
Closes gh-20012
5 years ago
Stephane Nicoll 77bdf992ec Polish "Create HazelCastClient if necessary"
See gh-20109
5 years ago
Dmytro Nosan 67dd9ad537 Create HazelCastClient if necessary
This commit makes sure to create a HazelcastClient if an instance name
is provided in configuration and if no such client already exists. This
harmonizes the behaviour with of the server counter-part.

See gh-20109
5 years ago
Stephane Nicoll aa56a6f647 Add missing mockito dependency
Closes gh-20097
5 years ago
Stephane Nicoll b5e23e7405 Update copyright year of changed files
See gh-20020
5 years ago
Johnny Lim b67ece48e4 Polish
See gh-20020
5 years ago
Stephane Nicoll 5833d2c5e8 Fix Embedded Mongo classpath check
This commit changes the classpath check condition to verify that the
core module of the MongoDB driver is present. Previously, we were only
checking for the presence of the sync driver, making embedded support
unavailable with the reactive variant.

Closes gh-19960
5 years ago
Stephane Nicoll c4daff7225 Polish "Upgrade to MongoDB Java Driver 4.0 beta1"
See gh-19960
5 years ago
Christoph Strobl d2d6dbdc00 Upgrade to MongoDB Java Driver 4.0 beta1
See gh-19960
5 years ago
Andy Wilkinson 886e7ba38c Merge branch '2.2.x'
Closes gh-19989
5 years ago
Andy Wilkinson a37c170376 Try to make CouchbaseAutoConfigurationIntegrationTests less flakey
Closes gh-19932
5 years ago
dreis2211 fac6f08ca3 Use new AssertJ duration assertions
See gh-19985
5 years ago
Stephane Nicoll b6c5c3a113 Polish
See gh-19802
5 years ago
Stephane Nicoll eb852f1ad6 Disable bean overriding by default in ApplicationContextRunner
For consistency with SpringApplication, this commit disables bean
overriding by default in ApplicationContextRunner. Bean overriding can
be enabled again using withAllowBeanDefinitionOverriding.

Closes gh-18019
5 years ago
Stephane Nicoll 0516520b7e Polish "Fix scope of CqlSessionBuilder bean"
See gh-19899
5 years ago
Dmytro Nosan c8105413b9 Fix scope of CqlSessionBuilder bean
See gh-19899
5 years ago
Stephane Nicoll 83b38599b1 Apply consistent timeout for Cassandra integration tests
Closes gh-19802
5 years ago
Madhura Bhave 84ea3d359b Increase timeout for Cassandra tests
Closes gh-19802
5 years ago
Stephane Nicoll ed14173865 Polish "Upgrade to Flyway 6.2.0"
See gh-19894
5 years ago
Kedar Joshi 0ae075efd5 Upgrade to Flyway 6.2.0
See gh-19894
5 years ago
Stephane Nicoll f0e93f0e1d Migrate Couchbase tests to ApplicationContextRunner 5 years ago
Stephane Nicoll a1e6a20915 Simplify default value for Spring Data Couchbase's typeKey
This commit hard codes the default value so that the annotation
processor picks it up. The default value is tested for consistency so
this is acceptable as providing the default value in the metadata
requires to hard code it anyway.
5 years ago
Stephane Nicoll af4fdf0d6d Polish "Add support for Spring Data Couchbase custom type key"
See gh-19789
5 years ago
Grudi Radev d1a44dfacd Add support for Spring Data Couchbase custom type key
See gh-19789
5 years ago
Stephane Nicoll 142a0cbb85 Fix warnings in spring-boot-autoconfigure's Kotlin test code
Closes gh-19877
5 years ago
Stephane Nicoll 0a6fa64ff9 Fix default value for spring.data.couchbase.contact-points
See gh-18621
5 years ago
Stephane Nicoll df7b3839a1 Add local-datacenter property for Cassandra
The Cassandra v4 driver does not longer have automatic local DC inference
from contact points. As a result, the "local-datacenter" property must be
set with the default load balancing policy and the contact points must
be of that data center.

This commit adds a new property for the local datacenter so that it can
be specified without the use of a customizer.

Closes gh-19779
5 years ago
Stephane Nicoll 95be419527 Use Class.forName rather than ClassLoader.loadClass
This commit changes uses of ClassLoader.loadClass to Class.forName for
consistency with what was initiated in #19342 and better compatibility
with GraalVM.

Closes gh-19824
5 years ago
Scott Frederick 462f5635d6 Reinstate JobLauncherCommandLineRunner
This class was mistakenly marked as deprecated in 2.2.0 instead of deprecated
in 2.3.0. This resulted in the class being deleted as part of the 2.3.0
cleanup.

Putting it back in place now with the correct deprecation noted.

Closes gh-19861
5 years ago
Phillip Webb e0013454b5 Use parentheses when declaring dependencies
Update all dependencies declarations to use the form `scope(reference)`
rather than `scope reference`.

Prior to this commit we declared dependencies without parentheses unless
we were forced to add them due to an `exclude`.
5 years ago
Phillip Webb 0209cd3e4c Polish quote form used in Gradle scripts
Replace Gradle single quote strings with the double quote form
whenever possible. The change helps to being consistency to the
dependencies section where mostly single quotes were used, but
occasionally double quotes were required due to `${}` references.
5 years ago
Scott Frederick ed6fbc6bec Remove Spring Cloud Connectors auto-config/starter
The Spring Cloud Connectors project has been deprecated in favor of the
Java CFEnv project. The Boot auto-configuration and starter that support
Connectors were deprecated in Boot 2.2.

This commit removes the Connectors auto-configuration, starter,
and dependency management.

Closes gh-19798
5 years ago
Scott Frederick 9ff50f903f Default spring.datasource.generate-unique-name to true
This change ensures that each test in a test suite that shares an
application context gets a unique embedded database, to prevent
inconsistent embedded database state between tests.

Closes gh-16747
5 years ago
Scott Frederick 288889685d Change default BootstrapMode for JPA repositories
Change the default `BootstrapMode` for auto-configured `JpaRepositories`
to `BootstrapMode.DEFERRED` to allow the initialization of
`EntityManagerFactory` to be parallelized for increased startup efficiency.

Prior to this change, the default BootstrapMode for all auto-configured
Spring Data repositories was `BootstrapMode.DEFAULT`.

Closes gh-16230
5 years ago
Stephane Nicoll 4d70f58bc8 Polish "Upgrade to Infinispan 10.1.1.Final"
See gh-19790
5 years ago
Scott Frederick c4592e7df8 Remove deprecated Joda-Time support
See gh-19699
5 years ago
Scott Frederick 8f102aee68 Remove deprecated 2.2 code
See gh-19699
5 years ago
Andy Wilkinson 443d1a6a21 Upgrade to Liquibase 3.8.5
Closes gh-19754
5 years ago
Andy Wilkinson 714a187d8f Rework dep mgmt again to avoid consumers picking up strict constraints
This paves the way for publishing Gradle module metadata once the
problem caused by snapshot versions and our two-step publication
process has been addressed.

See gh-19609
5 years ago
Stephane Nicoll dee71f064b Harmonize Cassandra bean names 5 years ago
Andy Wilkinson aefe52e4d0 Revert "Rework dep management to avoid consumers picking up strict constraints"
This reverts commit b34a311d02 as,
having disabled the publishing of Gradle's module metadata (4f75ab5),
the changes are no longer needed.

See gh-19609
5 years ago
Stephane Nicoll 246f5ce8eb Polish Cassandra v4 support 5 years ago
Brian Clozel 711391cf2f Move spring.http.* config properties namespace
Closes gh-18827
5 years ago
Stephane Nicoll 7f6b01c3d2 Make sure Redis cache prefix includes cache name
This commit maps 'spring.cache.redis.key-prefix' to the new
'prefixCacheNameWith' method introduced in Spring Data Neumann. This
makes sure that the configured prefix includes the cache name.

Closes gh-16676
5 years ago
Phillip Webb 862462b791 Update copyright year of changed files 5 years ago
Phillip Webb 1e5ba09a3e Merge branch '2.2.x' 5 years ago
Phillip Webb 15652ae4c1 Update copyright year of changed files 5 years ago
Phillip Webb 3cfbfebbb1 Merge branch '2.1.x' into 2.2.x 5 years ago
Phillip Webb 9bd49562fe Update copyright year of changed files 5 years ago
Scott Frederick c789592e26 Remove support for deprecated Elasticsearch Jest client
Closes #19676
5 years ago
Andy Wilkinson b34a311d02 Rework dep management to avoid consumers picking up strict constraints
Previously, enforcedPlatform dependencies were using to pull in the
constraints defined in spring-boot-dependencies and
spring-boot-parent and applied them strictly so that the constrained
version had to be used. This worked as intended in Spring Boot's own
build but incorrectly enforced those same strict version requirements
on external consumers of Spring Boot's modules.

This commit reworks how Spring Boot defines its internal dependency
management so that platform dependencies are exposed to external
consumers while enforced platform dependencies are using internally.

See gh-19609
5 years ago
Stephane Nicoll 405b9b7f93 Merge branch '2.2.x'
Closes gh-19693
5 years ago
dreis2211 852659684b Fix typo in NoSuchBeanDefinitionFailureAnalyzer exception
See gh-19690
5 years ago
Brian Clozel b780e5247c Remove support for Elasticsearch transport client
The Elasticsearch transport client has been deprecated since Spring Boot
2.2.0 and is about to be removed from Spring Data Elasticsearch and
Elasticsearch itself in their next major releases.

The available REST client support variants are now the preferred way of
using Elasticsearch features.

Closes gh-19668
5 years ago
Stephane Nicoll ca1710ee56 Upgrade to Apache Cassandra 4.3.1
See gh-19588
5 years ago
Stephane Nicoll d282eb619f Upgrade to Elasticsearch 7.5.1
See gh-19588
5 years ago
Brian Clozel 0f567c879d Auto-configure HTTP client builders as Lazy
Prior to this commit, HTTP client builders auto-configured by Spring
Boot would be eagerly instantiating resources, even if those were not
used by the application.

This commit makes the `RestTemplateBuilder` bean as Lazy.
`WebClient.Builder` was already a prototype bean, but some of its
dependencies could consume resources, like the `HttpClientConnector` and
the related infrastructure. This commit makes those pieces lazy.

Note that since those components are meant to help instantiate actual
HTTP clients for application components, making them lazy won't make any
difference at runtime since they'll be used during context refresh, or
they won't be used at all.

Closes gh-19549
5 years ago
Andy Wilkinson ce99db1902 Port the build to Gradle
Closes gh-19609
Closes gh-19608
5 years ago
Madhura Bhave 6d0b4351f4 Merge branch '2.2.x'
Closes gh-19582
5 years ago
Madhura Bhave 437941cc51 Improve diagnostics when using `@ConstructorBinding` on a Kotlin class
Closes gh-19312
5 years ago
Stephane Nicoll e5c1f3133a Harmonize cassandra tests 5 years ago
Stephane Nicoll 6ced89490c Polish 5 years ago
Stephane Nicoll bc066d279b Polish cassandra tests
See gh-18019
5 years ago
Andy Wilkinson 10ba17c390 Merge branch '2.2.x'
Closes gh-19571
5 years ago
Andy Wilkinson 6d8f07d899 Merge branch '2.1.x' into 2.2.x
Closes gh-19570
5 years ago
Andy Wilkinson bdffa860d9 Increase startup timeout for Docker containers
Closes gh-19569
5 years ago
Madhura Bhave c9ad3564d9 Merge branch '2.2.x'
Closes gh-19562
5 years ago
Madhura Bhave 82dc7bcc90 HypermediaAutoConfiguration should back off when Spring MVC absent
Fixes gh-19392
5 years ago
Madhura Bhave 87dd11502a Refactor HypermediaAutoConfigurationTests 5 years ago
Brian Clozel 2f78c72f92 Avoid 406 Not Acceptable for error pages
Prior to this commit, the `ErrorController` would override the original
error response status if the error map cannot be written due to content
negotiation with the HTTP client. In that case, the error handling
infrastructure returns a `406 Not Acceptable` response.

This commit improves the `ErrorController` so that
`HttpMediaTypeNotAcceptableException` instances thrown by that
controller are not returned as is but instead we write the error
response with an empty body and the original HTTP error status.

Fixes gh-19545
See gh-19522
5 years ago
Stephane Nicoll ee7555750e Add ComponentScan#nameGenerator alias on @SpringBootApplication
This commit allows to customize the default BeanNameGenerator for
scanned components using @SpringBootApplication.

Closes gh-19346
5 years ago
Madhura Bhave bb55bad170 Merge branch '2.2.x'
Closes gh-19529
5 years ago
Madhura Bhave c12a3f4172 Support explicitly setting forward headers strategy to NONE
Prior to this commit, there was no distinction between explicitly setting
forward headers strategy to a value of NONE and not setting it at all.
This meant that in a cloud environment, a cloud provider was always checked
to see if it was active and using forward headers and there was no way to
prevent that.

This commit changes the default value of the property to null so that there
is a way to determine if the property was explicitly set to NONE.

Fixes gh-19333
5 years ago
Brian Clozel cc154bbefb Avoid 406 Not Acceptable for error pages
Prior to this commit, the `ErrorController` would override the original
error response status if the error map cannot be written due to content
negotiation with the HTTP client. In that case, the error handling
infrastructure returns a `406 Not Acceptable` response.

This commit improves the `ErrorController` so that
`HttpMediaTypeNotAcceptableException` instances thrown by that
controller are not returned as is but instead we write the error
response with an empty body and the original HTTP error status.

Fixes gh-19522
5 years ago
Brian Clozel c2f8741e2e Merge branch '2.2.x'
Closes gh-19517
5 years ago
Brian Clozel 1320c44a25 Use RBAC credentials for Couchbase cluster info
Prior to this commit, the Couchbase auto-configuration would use the
bucket credentials when RBAC is configured. This commit ensures that
RBAC is used in that case.

This commit also adds new configuration properties to customize the
bootstrap ports for Couchbase:

* `spring.couchbase.env.bootstrap.http-direct-port`
* `spring.couchbase.env.bootstrap.http-ssl-port`

Fixes gh-19393
5 years ago
Stephane Nicoll c3ab4b875a Merge branch '2.2.x'
Closes gh-19504
5 years ago
Stephane Nicoll 7d36599343 Polish "Fix outdated reference in ArtemisConfigurationCustomizer javadoc"
See gh-19503
5 years ago
Ochieng Olanga c6f7d12270 Fix outdated reference in ArtemisConfigurationCustomizer javadoc
See gh-19503
5 years ago
Stephane Nicoll 6fc52b0563 Polish 5 years ago
Stephane Nicoll a9b0b78cb2 Upgrade to Flyway 6.1.3
Closes gh-19266
5 years ago
Victor Ferrer 1d900f67e7 FilteringSpringBootCondition uses Class.forName instead of classLoader
See gh-19490
5 years ago
Stephane Nicoll 61ae4fbc04 Merge branch '2.2.x' 5 years ago
Stephane Nicoll 1de30f0d00 Polish 5 years ago
Stephane Nicoll 3b6f21d997 Merge branch '2.2.x'
Closes gh-19486
5 years ago
Stephane Nicoll 07a21ec601 Harmonize property visibility in Saml2RelyingPartyProperties
Closes gh-19194
5 years ago
Stephane Nicoll 334f3e08ae Fix formatting 5 years ago
Stephane Nicoll 5f178db49b Polish test setup
This commit polishes a test configuration to avoid registering a mock
for the same bean twice.
5 years ago
Stephane Nicoll cf740add85 Fix component scan test setup
This commit fixes the setup of tests using component scan. Previously,
a configuration used an include filter to only include a particular
configuration class in a given package. Unfortunately, include filters
do not prevent regular filters by default and the definition did not
have the intended behaviour.

This commit disables default filters so that only the specified include
filter is applied.
5 years ago
Stephane Nicoll bb5e09882a Extract RabbitTemplate auto-configuration in a configurer
This commit movers the auto-configuration of RabbitTemplate to a
dedicated class that can be reused to create additional template with
similar settings.

CLoses gh-19440
5 years ago
Stephane Nicoll 015714c1d6 Merge branch '2.2.x'
See gh-19474
5 years ago
Stephane Nicoll 85667ba165 Merge branch '2.1.x' into 2.2.x
See gh-19473
5 years ago
Stephane Nicoll c0f1aaebb6 Fix Tomcat's maxConnections default value
Closes gh-19472
5 years ago
Stephane Nicoll 2c1e81adf0 Polish 5 years ago
Stephane Nicoll 5b1a622195 Harmonize class visibility
Closes gh-19414
5 years ago
Stephane Nicoll 58a28cf54c Merge branch '2.2.x'
Closes gh-19444
5 years ago
Stephane Nicoll c9bb17f444 Merge branch '2.1.x' into 2.2.x
Closes gh-19443
5 years ago
Stephane Nicoll c6dab447cd Fix visibility of inner classes of ServletWebServerFactoryConfiguration
Closes gh-19395
5 years ago
Stephane Nicoll 68dc850a82 Execute batch jobs with ApplicationRunner
This commit migrates JobLauncherCommandLineRunner to an
ApplicationRunner implementation. The latter allows to parse option
arguments (i.e. `--spring.something=value`) and makes it easy to ignore
arguments that are not meant to be passed to batch jobs.

Closes gh-19442
5 years ago
Johnny Lim 6efa98951d Polish LdapAutoConfigurationTests
See gh-19437
5 years ago
Stephane Nicoll 5031e6182b Merge branch '2.2.x'
Closes gh-19435
5 years ago
Filip Hrisafov bb5c151ee0 Disable SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS by default
See gh-19352
5 years ago
Stephane Nicoll fde06f4edd Merge branch '2.2.x'
Closes gh-19434
5 years ago
Stephane Nicoll 2171e7a425 Merge branch '2.1.x' into 2.2.x
Closes gh-19433
5 years ago
Tadaya Tsuyukubo 294267d2e0 Fix typo on ConditionMessage
See gh-19354
5 years ago
dreis2211 4b10462464 Fix compilation error
See gh-19423
5 years ago
Andy Wilkinson 7551a79e80 Merge branch '2.2.x'
Closes gh-19422
5 years ago
Andy Wilkinson ea00ab9919 Protect against NoSuchMethodError when deploying to old Tomcats
Fixes gh-19308
5 years ago
Stephane Nicoll aa821151bb Polish "Detect DirContextAuthenticationStrategy bean"
See gh-19328
5 years ago
Filip Hrisafov c108d2d011 Detect DirContextAuthenticationStrategy bean
This commit improves the LDAP auto-configuration to detect if a
DirContextAuthenticationStrategy bean is defined and, if so, associates
it with the auto-configured `LdapContextSource`.

See gh-19328
5 years ago
Stephane Nicoll 20bebdc07d Merge branch '2.2.x'
Closes gh-19331
5 years ago
dreis2211 b1158bf35d Simplify some Stream API usages
See gh-19291
5 years ago
dreis2211 c6c03e89a4 Remove code that is deprecated since 2.1.x
See gh-19189
5 years ago
Stephane Nicoll 8888f75a41 Polish "Add dedicated namespace for RemoteIpValve properties"
See gh-18489
5 years ago
Victor Mandujano 479cd8856b Add dedicated namespace for RemoteIpValve properties
See gh-18489
5 years ago
Stephane Nicoll cde9c2e853 Merge branch '2.2.x'
Closes gh-19161
5 years ago
Johnny Lim f234d9c0ec Remove ConditionEvaluationReportLoggingListener usage if possible
See gh-19159
5 years ago
Stephane Nicoll d2f256abe8 Polish "Add configuration for RabbitMQ requested channel max property"
See gh-19106
5 years ago
Franjo Zilic c043068578 Add configuration for RabbitMQ requested channel max property
See gh-19106
5 years ago
Stephane Nicoll a4ca1d02b3 Merge branch '2.1.x' into 2.2.x
Closes gh-19112
5 years ago
Stephane Nicoll 5d8fe860d7 Polish "Use ssl.enabled flag when RabbitMQ address has no protocol"
There is a direct link between the sslEnabled flag and the default port
that should be used by an address. The checks are currently set in two
places:

* Determine which port should be used
* Determine if SSL should be enabled

This commit polishes the initial proposal so that secureConnection is
only set if a protocol is available.

See gh-19109
5 years ago
cbono 2210236f82 Use ssl.enabled flag when RabbitMQ address has no protocol
See gh-19109
5 years ago
thelproad 65ab82b3cd Remove redundant code
See gh-19000
5 years ago
Brian Clozel 0c5bb60384 Fix responseCommitted test in webflux error handling
This commit updates the `responseCommitted` after changes were made in
`WebTestClient` with spring-projects/spring-framework#24051.

Fixes gh-19083
5 years ago
Stephane Nicoll 58bfbb92b9 Merge branch '2.1.x' into 2.2.x
Closes gh-19091
5 years ago
Adam Michalik c154a014a1 Remove invalid example of spring.mvc.async.request-timout property
See gh-19057
5 years ago
Brian Clozel 9fe721d75c Temporarily ignore failing error web handler test
See gh-19083
5 years ago
Stephane Nicoll 08067fb816 Polish "Remove reference to ConfigurationPropertiesScan in javadoc"
See gh-18920
5 years ago
wonwoo 92b00255a1 Remove reference to ConfigurationPropertiesScan in javadoc
See gh-18920
5 years ago
Stephane Nicoll d331f28222 Merge branch '2.1.x'
Closes gh-18885
5 years ago
Stephane Nicoll 4d1373c94d Polish "Support amqps:// URIs in spring.rabbitmq.addresses"
See gh-18808
5 years ago
Mark Pollack 0fedb24c6f Support amqps:// URIs in spring.rabbitmq.addresses
See gh-18808

Co-Authored-By: Bryan Kelly <xyloman@gmail.com>
5 years ago
Andy Wilkinson 49566edf6c Reduce visibility of test methods 5 years ago
Andy Wilkinson 63dd159935 Merge branch '2.1.x'
Closes gh-18878
5 years ago
Andy Wilkinson 69a95ce5c1 Allow dependsOn relationships created by post-processor to be overridden
Previously, AbstractDependsOnBeanFactoryPostProcessor was unordered
which meant that it was impossible to guarantee that another bean
factory post-processor would run after it. This prevented overriding
of the dependsOn relationships that is creates.

This commit updates AbstractDependsOnBeanFactoryPostProcessor to give
it a default order of zero. This will allow additional bean factory
post-processors to be configured with a lower precedence order (values
greater than 0) so that they run after any
AbstractDependsOnBeanFactoryPostProcessor and can override the
dependencies that it has configured.

Fixes gh-18362
5 years ago
Andy Wilkinson ae5f2d7725 Do not require aspectjweaver to enable CGLib-based proxies
Previously, AopAutoConfiguration would only enable CGLib-based
proxies if aspectjweaver was on the classpath. The intention was for
CGLib-based proxies to always be used by default so this behaviour
was incorrect.

This commit updates AopAutoConfiguration to force the use of
CGLib-based proxies even in the absence of aspectjweaver.

Closes gh-18523
5 years ago
Andy Wilkinson e26d5d95a8 Do not enable @ConfigurationPropertiesScan be default
In 2.2.0, @ConfigurationPropertiesScan was enabled by default.
Unfortunately, this had the unexpected side-effect of breaking
conditional enablement of a @ConfigurationProperties class via
@EnableConfigurationProperties if the @ConfigurationProperties class
was in a package covered by scanning.

This commit remove @ConfigurationPropertiesScan from
@SpringBootApplication so that it is no longer enabled by default.
2.1.x users who rely upon such conditional enablement of
@ConfigurationProperties classes can now upgrade to 2.2.x without
having to make any changes. Users who do not have such a need and are
in a position to use configuration properties scanning can now opt-in
by adding @ConfigurationPropertiesScan to their main application class
alongside @SpringBootApplication.

Closes gh-18674
5 years ago
Johnny Lim 45d85778b8 Polish
See gh-18838
5 years ago
Brian Clozel b7f59eb7cb Add config property for webflux codec maxInMemorySize
This commit creates a new configuration property
`spring.codec.max-in-memory-size` which configures the maximum
amount of data to be buffered in memory by codecs (both client and
server).

This property has no default value - it will let Spring Framework handle
the default behavior, currently enforcing a 256KB for provided codecs.

Fixes gh-18828
5 years ago
Stephane Nicoll 7f509bf84e Make sure Web infrastructure uses qualified beans
This commit is a follow-up of a change in Spring Framework[1] to make
sure injection points that are expecting a specific bean by name use
a qualifier.

As a result of this change, MVC uses the dedicated MVC validator again
rather than the general one auto-configured by Spring Boot.

[1] https://github.com/spring-projects/spring-framework/issues/23887

Closes gh-18672
5 years ago
Stephane Nicoll 2ceffcee14 Start building against Spring Data Moore-SR1 snapshots
See gh-18744
5 years ago
Stephane Nicoll a315d4229d Start building against Spring Data Lovelace-SR12 snapshots
See gh-18743
5 years ago
dreis2211 9ece2e277f Remove redundant explicit types
See gh-18754
5 years ago
wonwoo 3369d80f3f Polish OnBeanCondition message
See gh-18727
5 years ago
Phillip Webb 597baf9774 Polish "Optimize logger calls"
See gh-18710
5 years ago
wycm 240b1f9e29 Optimize logger calls
Guard logger calls to ensure that they are only made when the
level is set.

See gh-18710
5 years ago
Johnny Lim 8c2d6b28f8 Polish
See gh-18697
5 years ago
dreis2211 8ecdf919f8 Fix Mockito deprecations
See gh-18689
5 years ago
Phillip Webb 511a2a073f Merge branch '2.1.x'
Closes gh-18695
5 years ago
Rafiullah Hamedy 81dc6e02e6 Rename `max-http-post-size` server property
Rename `max-http-post-size` to `max-http-form-post-size` for Jetty and
Tomcat to make it clearer that they only apply to POSTed form content.

See gh-18566
5 years ago
Phillip Webb 714c9b9804 Polish 5 years ago
Stephane Nicoll dccb842286 Polish "Apply dependsOn semantic between Liquibase and JPA"
See gh-18673
5 years ago
Dmytro Nosan bacd36f0cf Apply dependsOn semantic between Liquibase and JPA
This commits restores the dependency between Liquibase and the JPA
EntityManager even if a custom `SpringLiquibase` is configured.

See gh-18673
5 years ago
Stephane Nicoll 4d5d90847e Merge branch '2.1.x'
Closes gh-18682
5 years ago
wycm 681a94b0d5 Optimize debug level logs
See gh-18604
5 years ago
Stephane Nicoll c05f88bf78 Polish "Add missing package-info files"
See gh-18632
5 years ago
Leo Li af114c93ee Add missing package-info files
See gh-18632
5 years ago
Alessandro Falappa f28af3db9f Narrow type for Tomcat 'locale' and 'encoding' properties
See gh-18637
5 years ago
Brian Clozel 1529ba14c8 Rename server.jetty.idle-timeout
This commit renames the `server.jetty.idle-timeout` property to
`server.jetty.thread-idle-timeout`, since there are other timeout
properties that are not tied to the threadpool configuration (e.g. the
connection idle timeout).

We might regroup thread-related properties in a dedicated group in the
future, see gh-18620.

Fixes gh-18615
5 years ago
Andy Wilkinson fd1d653c34 Rename socket factory processor methods on NettyRSocketServerFactory
Previously, the methods were named addServerProcessors and
setServerProcessors which wasn't aligned with them taking
socket factory processors (ServerRSocketFactoryProcessor) as an
argument.

This commit renames the methods to align them more closely with the
type of their arguments.

Closes gh-18617
5 years ago
Brian Clozel 7104b8385f Merge branch '2.1.x' 5 years ago
Brian Clozel 9c5ee1126f Polish
See gh-18473
5 years ago
Brian Clozel 7113d41a80 Merge branch '2.1.x'
Closes gh-18618
5 years ago
Brian Clozel e4fa9ce8c6 Deprecate server.connection-timeout property
Prior to this commit, all supported servers would share the same
configuration property `server.connection-timeout`. Unfortunately, in
many cases the behavior of this timeout changes depending on the server.
From actual connection setup timeout, to detecting and closing idle
connections, this property cannot be properly translated from one server
implementation to another.

This commit deprecates this configuration property and introduces server
specific properties:

* `server.jetty.connection-idle-timeout`
(Time that the connection can be idle before it is closed.)
* `server.netty.connection-timeout`
(Connection timeout of the Netty channel.)
* `server.tomcat.connection-timeout`
(Amount of time the connector will wait, after accepting a connection,
for the request URI line to be presented.)
* `server.undertow.no-request-timeout`
(Amount of time a connection can sit idle without processing a request,
before it is closed by the server.)

`server.connection-timeout` is now deprecated and will be removed in a
future release.

Fixes gh-18473
5 years ago
Andy Wilkinson 4b4b39853b Merge branch '2.1.x'
Closes gh-18608
5 years ago
Andy Wilkinson 00d4b44cbb Remove trailing commas from test SQL scripts
Closes gh-18607
5 years ago
Andy Wilkinson 6e84ae6474 Make SAML 2 login configuration back off with user provider config adapter
Previously, a WebSecurityConfigurerAdapter would be configured
irrespective of whether or not the user had provided their own
WebSecurityConfigurerAdapter. This then required them to use ordering
to diambiguate the configuration and made it harder to take complete
control of security configuration.

This commit updates the configuration of the SAML 2 login configurer
adapter to be conditional on missing bean, aligning it with other
security configuration such as the equivalent OAuth 2 configurer
adapter.

Closes gh-18530
5 years ago
Andy Wilkinson 07d0794827 Consider possibility of missing @ConstructorBinding in failure analysis
Previously, when a NoSuchBeanDefinitionException was being analyzed,
the possibility of a missing @ConstructorBinding annotation on a
@ConfigurationProperties class was not considered.

This commit updates the failure analysis for failed constructor
injection of an instance of a @ConfigurationProperties-annotated
class. When such a failure occurs, adding @ConstructorBinding is
now suggested as an action.

Closes gh-18545
5 years ago
Johnny Lim 701bd0dd46 Polish
See gh-18490
5 years ago
Phillip Webb 795303d667 Replace depends-on post processor configurations
Replace `AbstractDependsOnBeanFactoryPostProcessor` `@Configuration`
classes with simple `@Import` component classes.

Closes gh-18382
5 years ago
Madhura Bhave 40ac5b4ae2 Autoconfigure RSocket Security
Closes gh-18356
5 years ago
Madhura Bhave bc96e09965 Add additional test for reactive security auto-config 5 years ago
Madhura Bhave 22ed56ac52 Add auto-config for Spring Security's SAML support
Closes gh-18260

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
5 years ago
Phillip Webb 71f8347c81 Rename ServerRSocketFactoryCustomizer
Rename `ServerRSocketFactoryCustomizer` to
`ServerRSocketFactoryProcessor` to better reflect that it is not a
traditional customizer.

Closes gh-18390
5 years ago
Andy Wilkinson 46c30d6bb0 Merge branch '2.1.x'
Closes gh-18476
5 years ago
Andy Wilkinson 3d4157ad6d Correct SCM URLs in published poms
Previously, Maven's default behaviour was relied up which resulted
in the artifact ID being appended to each URL as it was inherited.
This behaviour can only be disabled in Maven 3.6 and later, a version
that we cannot use due to an incompatibility with the Flatten Plugin.

This commit works around Maven's default behaviour by defining
properties for the SCM URL, connection, and developer connection and
then explicitly defining the settings in each pom using these
properties. The explicit definition of the properties in each pom
prevents them being inherited from the parent, thereby disabling the
unwanted appending of the artifact ID to the URL.

Fixes gh-18328
5 years ago
Vedran Pavic 4808016560 Align with Spring Session MongoDB deprecations
See gh-18470
5 years ago
dreis2211 bafc10f2c4 Fix default values in metadata for HiddenHttpMethodFilter
See gh-18435
5 years ago
Phillip Webb 1f9c9fedb4 Merge branch '2.1.x'
Closes gh-18409
5 years ago
Phillip Webb 615c6d4e86 Restructure RSocket packages and polish
Polish code and relocate `RSocketServerBootstrap` from `server` to
`context` since it's really an `ApplicationContext` concern.

Closes gh-18391
5 years ago
Phillip Webb 4b0fb8ff24 Polish 'Add @LocalRSocketServerPort support'
See gh-18287
5 years ago
Verónica Vásquez 3c8fa3bbd0 Add @LocalRSocketServerPort support
Add an appication context initializer to detect and store the
active RSocket port in the Environment under
`local.rsocket.server.port`.

Additionally add a `@LocalServerPort` that provides a convenient
alternative to `@Value`.

See gh-18287

Co-authored-by: Eddú Meléndez <eddu.melendez@gmail.com>
5 years ago
Tadaya Tsuyukubo bccdf04358 Use ordered TaskExecutorCustomizers
Use an ordered stream in `TaskExecutionAutoConfiguration` when
obtaining the TaskExecutor customizers.

See gh-18333
5 years ago
Madhura Bhave 39ed15728f Configure oauth2client in Reactive OAuth2 client auto-config
Closes gh-18385
5 years ago
Stephane Nicoll f78c9574d8 Start building against Spring Session Corn snapshots
See gh-18257
5 years ago
Phillip Webb d83238aaab Merge branch '2.1.x'
Closes gh-18369
5 years ago
Phillip Webb 050460f635 Check factory bean for EntityManager datasource
Update `DataSourceInitializedPublisher` to fallback to the
`LocalContainerEntityManagerFactoryBean` if the
`javax.persistence.nonJtaDataSource` property is not defined.

As of Hibernate 4.3 the property is no longer set if the `EntityManager`
is created from a `PersistenceUnitInfo` instance rather than actual
properties.

Although this is being addressed in Hibernate issue HHH-13432, it's
not strictly a requirement of the JPA spec that the property is set.

Fixes gh-17061
5 years ago
dreis2211 4262aab446 Fix deprecation warnings caused by BodyInserters.fromObject
See gh-18349
5 years ago
Madhura Bhave 0a70e33009 Merge branch '2.1.x'
Closes gh-18345
5 years ago
Madhura Bhave 342a0535d7 Explicitly configure SecurityWebFilterChain bean for reactive oauth2 client
This will ensure that ReactiveManagementWebSecurityAutoConfiguration backs
off and that the actuator endpoints are also secured via OAuth2.

Fixes gh-17949
5 years ago
Andy Wilkinson a354657ace Merge branch '2.1.x'
Closes gh-18343
5 years ago
Andy Wilkinson c613418451 Suppress body when handling a no content (204) "error"
Fixes gh-18136
5 years ago
Andy Wilkinson 419f92d381 Tune @ConditionalOnMissingBean for interface-based back off
Previously, a number of usages of @ConditionalOnMissingBean prevented
a bean that implements an auto-configured bean's "main" interface from
causing the auto-configuration of the bean to back off. This would
happen when @ConditionalOnMissingBean did not specify a type, the
@Bean method returned the bean's concrete type, and that concreate
type implements a "main" interface.

This commit updates such usages of @ConditionalOnMissingBean to
specify the "main" interface as the type of the bean that must be
missing. This will allow, for example, the auto-configured
MongoTemplate bean to back off when a MongoOperations bean is defined.

Fixes gh-18101
5 years ago
Phillip Webb 5076d8562a Fix Artemis EmbeddedJMS initialization
Update `ArtemisConnectionFactoryFactory` to reference the new
embedded Artemis classes.

See gh-16646
5 years ago
Andy Wilkinson 42e0dc14b5 Migrate from deprecated Artemis EmbeddedJMS
Closes gh-16646
5 years ago
Andy Wilkinson b9cfbf7c8b Merge branch '2.1.x'
Closes gh-18323
5 years ago
Andy Wilkinson 9df356ec4c Fix destination checking in Artemis auto-configuration tests
Closes gh-18319
5 years ago
Andy Wilkinson 2de7b3af4a Merge branch '2.1.x' 5 years ago
Andy Wilkinson e5f26a4f1a Rename test resource to be Windows-friendly 5 years ago
Andy Wilkinson 30c05b2b49 Support X-Forwarded-Host header when auto-configuring RemoteIpValve
Closes gh-18233
5 years ago
Andy Wilkinson 4cc7fef728 Deprecate support for Spring Cloud Connectors in favor of Java CFEnv
Closes gh-17877
5 years ago
Andy Wilkinson ea6d9f3328 Merge branch '2.1.x'
Closes gh-18298
5 years ago
aohana 51a8c73b7b Test custom comment prefix with one that does not work by default
See gh-18285
5 years ago
Andy Wilkinson 8791b696f8 Add auto-configuration support for TransactionalOperator
Closes gh-18265
5 years ago
Andy Wilkinson 3b01bc0366 Switch TransactionAutoConfigurationTests to ApplicationContextRunner 5 years ago
Brian Clozel 070eedaa19 Configure RouteMatcher at the RSocketStrategies level
After a change in Spring Framework (see
spring-projects/spring-framework#23314), the `RouteMatcher` to be used
with the RSocket infrastructure is configured on the `RSocketStrategies`
directly.

This commit moves the auto-configuration of the
`PathPatternRouteMatcher` from the message handling parts to the RSocket
strategy one.

Closes gh-17571
5 years ago
Johnny Lim b70be97cbf Polish
See gh-18281
5 years ago
Andy Wilkinson 9377b9a9e4 Support -- and # by default as Quartz datasource init comment prefixes
Closes gh-17435
5 years ago
Andy Wilkinson 1b237de5f5 Use Awaitility in our own tests
Closes gh-18227
5 years ago
Andy Wilkinson b9bb84236b Restore compatibility with Flyway 5.2
Previously, the upgrade to Flyway 6 broke compatibility with Flyway
5.2 due to the use of method references that refer to two methods
that do not exist in Flyway 5.2.

This commit replaces the method references with lambdas that are only
called if the user sets the related property. Unless a new-in-Flyway-6
property is set, the auto-configuration will work as before. When such
a property is set the auto-configuration will fail with a
NoSuchMethodError. This approach was chosen to make the
incompatibility clear.

We have also introduced support for passing any JavaMigration beans
in the context into Flyway. This too relies on API that is new in
Flyway 6. It is possible (although unlikely) that users had
JavaMigration beans in Spring Boot 2.1 that were being ignored. This
commit restores this behaviour when using Flyway 5.2.

Closes gh-18193
5 years ago
Stephane Nicoll 70f7e47002 Polish "Use Duration for ServerProperties.Jetty.idleTimeout"
See gh-18206
5 years ago
Johnny Lim 96019362f7 Use Duration for ServerProperties.Jetty.idleTimeout
See gh-18206
5 years ago
Johnny Lim 5b41c3b608 Polish
See gh-18192
5 years ago
Brian Clozel 219bafaba1 Apply RSocket server customizers to netty web server
This commit applies `ServerRSocketFactoryCustomizer` beans to RSocket
setups when the RSocket server is being plugged into an existing Reactor
Netty web server.

Fixes gh-18208
5 years ago
Andy Wilkinson 80b8f19961 Tune @ConditionalOnMissingBean for interface-based back off
Previously, a number of usages of @ConditionalOnMissingBean prevented
a bean that implements an auto-configured bean's "main" interface from
causing the auto-configuration of the bean to back off. This would
happen when @ConditionalOnMissingBean did not specify a type, the
@Bean method returned the bean's concrete type, and that concreate
type implements a "main" interface.

This commit updates such usages of @ConditionalOnMissingBean to
specify the "main" interface as the type of the bean that must be
missing. This will allow, for example, the auto-configured
MongoTemplate bean to back off when a MongoOperations bean is defined.
5 years ago
Andy Wilkinson 71d5d481ad Merge branch '2.1.x'
Closes gh-18165
5 years ago
Andy Wilkinson 19ccfaea86 Fix QuartzAutoConfiguration when Liquibase is not on the class path
Fixes gh-18153
5 years ago
Andy Wilkinson 1f875d552a Polish "Add a config property for JMS listener container's receive timeout"
See gh-17332
5 years ago
ibmmqmet 1cde657861 Add a config property for JMS listener container's receive timeout
See gh-17332
5 years ago
Andy Wilkinson 6328f2e8a8 Polish "Make logError() in AbstractErrorWebExceptionHandler overrideable"
See gh-17863
5 years ago
Peter Jurkovic 7ea612beaf Make logError() in AbstractErrorWebExceptionHandler overrideable
See gh-17863
5 years ago
Andy Wilkinson 13b45b42c7 Align with breaking API changes in latest Security snapshots
See gh-17897
5 years ago
Andy Wilkinson 29080b87ec Protect autoconfigure module against slow starting test containers 5 years ago
Phillip Webb c1a16f5f21 Merge branch '2.1.x'
Closes gh-18117
5 years ago
Phillip Webb 43108d5495 Add @SpringBootApplication.scanBasePackages note
Update the javadoc to note that `scanBasePackages` only affects the
`@ComponentScan` annotation and isn't a replacement for `@EntityScan`
or `@Enable...Repositories`.

Closes gh-18109
5 years ago
Andy Wilkinson 6daab5c8ef Merge branch '2.1.x'
Closes gh-18108
5 years ago
Johnny Lim 2eac53cc5d Fix typo in deprecation reason for liquibase.check-change-log-location
See gh-18100
5 years ago
Andy Wilkinson ee0f57bfc7 Merge branch '2.1.x'
Closes gh-18106
5 years ago
Andy Wilkinson 52311ffe3c Depend on FlywayMigrationInitializer beans by type not name
Previously, a custom FlywayMigrationInitializer bean named anything
other than flywayInitializer could result in a
NoSucBeanDefinitionException as the dependencies set up for JPA and
JDBC components used the bean name flywayInitializer.

This commit updates the configuration of the dependencies to depend
on FlywayMigrationInitializer beans by type rather than name.

Fixes gh-18105
5 years ago
Andy Wilkinson 2dea534a0e Merge branch '2.1.x'
Closes gh-18103
5 years ago
Andy Wilkinson f313bf27a1 Depend on Flyway beans by type not name
Previously, a custom Flyway bean named anything other than flyway
could result in a NoSucBeanDefinitionException as the dependencies
set up for JPA and JDBC components used the bean name flyway.

This commit updates the configuration of the dependencies to depend
on Flyway beans by name rather than type.

Fixes gh-18102
5 years ago
dreis2211 07b857e57a Use disabledWithoutDocker option for @Testcontainers
See gh-18095
5 years ago
dreis2211 b4350a9d96 Remove unnecessary blank lines
See gh-18089
5 years ago
Andy Wilkinson 20b6656ba7 Protect autoconfigure module against slow starting test containers 5 years ago
Andy Wilkinson 3a417eec52 Merge branch '2.1.x' 5 years ago
Andy Wilkinson 4fd7b68f71 Polish 5 years ago
Phillip Webb a86258e62c Revert "Reduce bean method visibility"
Reverts commit 2be3027dcf
on 2.1.x
5 years ago
Phillip Webb b3835a8149 Merge branch '2.1.x' 5 years ago
Phillip Webb 2be3027dcf Reduce bean method visibility
See gh-17539
5 years ago
Phillip Webb 3746631081 Merge branch '2.1.x'
Closes gh-18085
5 years ago