Commit Graph

2625 Commits (ee07d6c3cad62216789287535214dc32ffa49d48)

Author SHA1 Message Date
Phillip Webb 3ca896e63f Polish 5 years ago
Stephane Nicoll 885ad1b720 Merge branch '2.2.x'
Closes gh-20868
5 years ago
dreis2211 2f93196fbb Polish ConditionMessage#because()
See gh-20847
5 years ago
Stephane Nicoll 5c69534827 Remove direct dependency on Kafka's IsolationLevel
Closes gh-20811
5 years ago
Stephane Nicoll f963180ab8 Polish 5 years ago
Madhura Bhave 577bc1ce88 Fix formatting 5 years ago
Madhura Bhave c2e95ee7ee Support both JWT and Opaque token configuration for resource server
Closes gh-19426
5 years ago
Madhura Bhave 8659102650 Add configuration options for SAML authentication requests
Closes gh-20584
5 years ago
Brian Clozel bbbf8c527d Polish
See gh-20205
5 years ago
wonwoo a7e57e0909 Configure codec buffer size in ES Reactive Rest client
This commit adds a new configuration property
`"spring.data.elasticsearch.client.reactive.max-in-memory-size"`
which configures the maximum amount of memory buffered by the
`WebClient` used by the Reactive ElasticSearch client.

See gh-20205
5 years ago
Stephane Nicoll 617786e06f Polish "Disable Hazelcast auto-configuration when Jet is present"
See gh-20729
5 years ago
Ali Gurbuz 002a7c6e87 Disable Hazelcast auto-configuration when Jet is present
See gh-20729
5 years ago
Stephane Nicoll dfac3a282b Add configuration to enable Redis Cluster topology refresh
This commit adds two options to enable a refresh of the cluster
topology using Lettuce.

Closes gh-15630
5 years ago
Stephane Nicoll 0616ecfa5c Make sure Liquibase works with only spring-jdbc on the classpath
This commit improves the Liquibase auto-configuration to only rely on
spring-jdbc when a `DataSource` should be created on-the-fly for the
purpose of its initialization.

Previously, a connection pool implementation must be added as well, now
we're fallbacking on `SimpleDriverDataSource` if necessary. This
improves the database initialization use case with R2DBC.

Closes gh-20715
5 years ago
Andy Wilkinson c282f76633 Merge branch '2.2.x'
Closes gh-20741
5 years ago
dreis2211 798e21fd3e Polish GroovyTemplateAutoConfiguration
See gh-20708
5 years ago
Stephane Nicoll fd05bc2a4a Expose MongoDB's replica set name
Closes gh-20391
5 years ago
Stephane Nicoll 722d37468b Rationalize RabbitProperties
Closes gh-18830
5 years ago
dreis2211 674f1e77b5 Fix typos
See gh-20704
5 years ago
Stephane Nicoll 7a64b3f761 Restore Cassandra port option
This commit restores the port option that was removed in an earlier
milestone. Contact points that do not define a port already are
automatically transformed to include the one configured, with a default
matching Cassandra's default port.

This makes upgrades easier in the case a cluster uses consistent ports
everywhere.

Closes gh-19672
5 years ago
Madhura Bhave b66ca0016a Merge branch '2.2.x' 5 years ago
Madhura Bhave 042a02e0da Update copyright of changed files 5 years ago
Madhura Bhave 3ad1aa7b32 Merge branch '2.2.x'
Closes gh-20694
5 years ago
Anastasiia Losieva a55c3e4ab7 Use jws-algorithm property in ReactiveOAuth2ResourceServerJwkConfiguration
See gh-20681
5 years ago
Stephane Nicoll ff15d136db Merge branch '2.2.x'
Closes gh-20687
5 years ago
Stephane Nicoll ab01c55d8e Deprecate use of path extensions for request mapping and content negotiation
Closes gh-20528
5 years ago
Stephane Nicoll b3517a0771 Merge branch '2.2.x'
Closes gh-20671
5 years ago
Stephane Nicoll 009361d38c Merge branch '2.1.x' into 2.2.x
Closes gh-20670
5 years ago
Stephane Nicoll 18353231a0 Do not fail if "spring.datasource.url" cannot be resolved
Previously, a condition checked the value of "spring.datasource.url" to
determine if an embedded database has to be created as a fallback. When
the value is set with an unresolved placeholder, this fails even if
the DataSource is going to created by another mean ultimately.

This commit makes a more conservative check by only checking the
presence of the property rather than its value.

Closes gh-20438
5 years ago
Brian Clozel 87de8a5e15 Fix checkstyle issue 5 years ago
Brian Clozel cbe83f8db5 Make base path configurable for WebFlux applications
This commit adds the `"spring.webflux.base-path"` configuration
property. Configuring this property will gather all `HttpHandlers` into
a single composite and prefix all requests with a shared base path.

Closes gh-10129
5 years ago
Stephane Nicoll 97bf3ecf1c Polish "Migrate off deprecated Spring Data Cassandra API"
See gh-20662
5 years ago
Mark Paluch 8355d30456 Migrate off deprecated Spring Data Cassandra API
Configure UserTypeResolver and CodecRegistry on
MappingCassandraConverter. Configure on CassandraMappingContext only the
simple type holder instead of custom conversions.

See gh-20662
5 years ago
Phillip Webb 9a33a723fe Update copyright year of changed files 5 years ago
Phillip Webb 16b5ea3414 Update copyright year of changed files 5 years ago
Stephane Nicoll 1a9065f46f Merge branch '2.2.x'
Closes gh-20621
5 years ago
Stephane Nicoll 8f265f8d57 Polish "Fix @FlywayDataSource with multiple data sources"
See gh-20617
5 years ago
Shimbo Takaaki 2410d6bbd1 Fix @FlywayDataSource with multiple data sources
See gh-20617
5 years ago
Stephane Nicoll ec8d2c5843 Merge branch '2.2.x'
Closes gh-20616
5 years ago
Stephane Nicoll 39b965e1fd Merge branch '2.1.x' into 2.2.x
Closes gh-20615
5 years ago
Stephane Nicoll f5761bd508 Auto-configure listener container factory without consumer factory
Previously, the presence of a `ConsumerFactory` bean would make the
auto-configured one to back off, leading to a failure down the line if
no available instance matches the generics criterion. This commit
improves the auto-configuration to create a `ConsumerFactory<?,?>`
behind the scenes if none is available.

Closes gh-19221
5 years ago
Stephane Nicoll 3735771f9c Merge branch '2.2.x'
Closes gh-20612
5 years ago
Stephane Nicoll 08a89b6288 Polish "Configure signature algorithm when using public key jwt decoder"
See gh-20523
5 years ago
Michael Kreis 69e33d6e62 Configure signature algorithm when using public key jwt decoder
See gh-20523
5 years ago
dreis2211 ef9f1d39a3 Remove redundant MockitoAnnotations.initMocks()
See gh-20601
5 years ago
Brian Clozel ffdf9a422f Polish Liveness and Readiness support
This commit moves the core Liveness and Readiness support to its own
`availability` package. We've made this a core concept independent of
Kubernetes.

Spring Boot now produces `LivenessStateChanged` and
`ReadinessStateChanged` events as part of the typical application
lifecycle.

Liveness and Readiness Probes (`HealthIndicator` components and health
groups) are still configured only when deployed on Kubernetes.

This commit also improves the documentation around Probes best practices
and container lifecycle considerations.

See gh-19593
5 years ago
Stephane Nicoll 579a6ac254 Adapt tests for support for Java 14
See gh-20576
5 years ago
Brian Clozel fd0b2f6695 Add Kubernetes Liveness and Readiness Probes support
Prior to this commit and as of Spring Boot 2.2.0, we would advise
developers to use the Actuator health groups to define custom "liveness"
and "readiness" groups and configure them with subsets of existing
health indicators.

This commit addresses several limitations with that approach.

First, `LivenessState` and `ReadinessState` are promoted to first class
concepts in Spring Boot applications. These states should not only based
on periodic health checks. Applications should be able to track changes
(and adapt their behavior) or update states (when an error happens).

The `ApplicationStateProvider` can be injected and used by applications
components to get the current application state. Components can also
track specific `ApplicationEvent` to be notified of changes, like
`ReadinessStateChangedEvent` and `LivenessStateChangedEvent`.
Components can also publish such events with an
`ApplicationEventPublisher`. Spring Boot will track startup event and
application context state to update the liveness and readiness state of
the application. This infrastructure is available in the
main spring-boot module.

If Spring Boot Actuator is on the classpath, additional
`HealthIndicator` will be contributed to the application:
`"LivenessProveHealthIndicator"` and `"ReadinessProbeHealthIndicator"`.
Also, "liveness" and "readiness" Health groups will be defined if
they're not configured already.

Closes gh-19593
5 years ago
Stephane Nicoll 5893786cbb Polish "Add 'threads' configuration group for embedded containers"
See gh-19475
5 years ago
cbono 208f58104a Add 'threads' configuration group for embedded containers
See gh-19475
5 years ago
dreis2211 7924dd62b0 Add security.protocol to KafkaProperties
See gh-20360
5 years ago
Stephane Nicoll f470f27666 Merge branch '2.2.x'
Closes gh-20549
5 years ago
dreis2211 d9171d0afe Use @Configuration(proxyBeanMethods=false) wherever possible
See gh-20541
5 years ago
Stephane Nicoll 58eb0ba4d3 Add additional timeout settings
This commit expands the `spring.couchbase.env.timeouts` configuration
namespace with timeouts for disconnect, key-value operations with a
durability level, search, analytics and management.

Closes gh-19893

Co-authored-by: Michael Nitschinger <michael@nitschinger.at>
5 years ago
Stephane Nicoll abe43b2e83 Upgrade to Couchbase SDK v3
This commit upgrades to the Couchbase SDK v3 which brings the following
breaking changes:

* Bootstrap hosts have been replaced by a connection string and the
authentication is now mandatory.
* A `Bucket` is no longer auto-configured. The
`spring.couchbase.bucket.*` properties have been removed
* `ClusterInfo` no longer exists and has been replaced by a dedicated
API on `Cluster`.
* `CouchbaseEnvironment` no longer exist in favour of
`ClusterEnvironment`, the customizer has been renamed accordingly.
* The bootstrap-related properties have been removed. Users requiring
custom ports should supply the seed nodes and initialize a Cluster
themselves.
* The endpoints-related configuration has been consolidated in a
single IO configuration.

The Spring Data Couchbase provides an integration with the new SDK. This
leads to the following changes:

* A convenient `CouchbaseClientFactory` is auto-configured.
* Repositories are configured against a bucket and a scope. Those can
be set via configuration in `spring.data.couchbase.*`.
* The default consistency property has been removed in favour of a more
flexible annotation on the repository query methods instead. You can now
specify different query consistency on a per method basis.
* The `CacheManager` implementation is provided, as do other stores for
consistency so a dependency on `couchbase-spring-cache` is no longer
required.

See gh-19893

Co-authored-by: Michael Nitschinger <michael@nitschinger.at>
5 years ago
Stephane Nicoll e3899df22c Configure Spring Data Couchbase explicitly
This commit configures Spring Data Couchbase explicitly rather than
relying on the abstract configuration class. This has the advantage of
simplifying the auto-configuration and let it us proxy-free
configuration classes.

Spring Boot no longer uses or interacts with CouchbaseConfigurer. Users
relying on that to teach Spring Boot which components to use should
rely on `@Primary` flag instead in case of multiple beans of the same
type.

`CouchbaseConfiguration` is no longer public as extending from it is
no longer necessary. If the `CouchbaseEnvironment` has to be
customized, a `CouchbaseEnvironmentBuilderCustomizer` bean can be
registered to tune the auto-configured environment.

Closes gh-20533
5 years ago
dreis2211 5975e7bd8d Fix some deprecation warnings
See gh-20527
5 years ago
Andy Wilkinson 77dbe999b9 Polish "Add clearChecksums to Liquibase auto-configuration"
See gh-20417
5 years ago
ferengra a2680efadb Add clearCheckSums to Liquibase auto configuration
Liquibase auto configuration is extended with clearCheckSums to allow
to clear all checksums in the current changelog, so they will be
recalculated upon the next update.

See gh-20417
5 years ago
Andy Wilkinson c917b61484 Reinstate leading / in default value for spring.liquibase.change-log
Unfortunately, while redundant for new applications, removing the
leading slash adversely affected existing application upon upgrades as
it caused Liquibase to re-apply every change log.

Closes gh-20177
5 years ago
Andy Wilkinson d2ebd77861 Upgrade to Flyway 6.3.0
Closes gh-20445
5 years ago
Andy Wilkinson 308e1d3675 Add support for gracefully shutting down the web server
This commit adds support for gracefully shutting down the embedded
web server. When a grace period is configured
(server.shutdown.grace-period), upon shutdown, the web server will no
longer permit new requests and will wait for up to the grace period
for active requests to complete.

Closes gh-4657
5 years ago
dreis2211 9481f2c68d Remove hardcoded version from VersionOverridingElasticsearchContainer
See gh-20428
5 years ago
dreis2211 6036df5f33 Upgrade to Elasticsearch 7.6.1
See gh-20423
5 years ago
Stephane Nicoll e5394ceac2 Polish "Handle new Annotation.toString() behaviour in JDK 14"
See gh-20180
5 years ago
dreis2211 e22aca85e9 Handle new Annotation.toString() behaviour in JDK 14
See gh-20180
5 years ago
Stephane Nicoll 89805fdb61 Fix checkstyle violations 5 years ago
Stephane Nicoll aa4dad1d73 Polish "Allow Embedded directory to be used without spring-data-ldap"
See gh-20223
5 years ago
Frank Schmager a92c57c07d Allow Embedded directory to be used without spring-data-ldap
See gh-20223
5 years ago
Brian Clozel ea45d8ef25 Fix "spring.integration.rsocket" canonical name
See gh-18834
5 years ago
Artem Bilan 3967e76b9b Auto-Configure RSocket support for Spring Integration
This commit adds a new auto-configuration for RSocket support in Spring
Integration.

Given an application with `spring-messaging`, `spring-integration-rsocket`
and RSocket dependencies, developers are now able to leverage Spring
Integration features with RSocket.

It is now possible to configure an RSocket server with
`"spring.rsocket.server.*"` properties and let it use
`IntegrationRSocketEndpoint` or `RSocketOutboundGateway` components to
handle incoming RSocket messages. This infrastructure can handle Spring
Integration RSocket channel adapters and `@MessageMapping` handlers
(given `"spring.integration.rsocket.server.message-mapping-enabled"`is
configured.

If the `"spring.integration.rsocket.client.host"` and
`"spring.integration.rsocket.client.port"` (for TCP protocol), or
`"spring.integration.rsocket.client.uri"`  (for WebSocket) is configured
then a `ClientRSocketConnector` will be configured accordingly.

Closes gh-18834

Co-authored-by: Brian Clozel <bclozel@pivotal.io>
5 years ago
Johnny Lim 98738d22f4 Polish tests
See gh-20318
5 years ago
Stephane Nicoll 19fbac7d59 Add auto-configuration for Spring Data R2DBC
This commit adds auto-configuration support for Spring Data R2DBC. If a
`ConnectionFactory` and Spring Data are available, scanning of reactive
repositories is enabled.

This commit also adds a starter to bring R2DBC and the necessary Spring
Data libraries.

See gh-19988

Co-authored-by: Mark Paluch <mpaluch@pivotal.io>
Co-authored-by: Oliver Drotbohm <odrotbohm@pivotal.io>
5 years ago
Stephane Nicoll 5c174feb65 Add auto-configuration for R2DBC's ConnectionFactory
This commit adds auto-configuration for R2DBC. If R2DBC is on the
classpath, a `ConnectionFactory` is created similarly to the algorithm
used to create a `DataSource`.

If an url is specified, it is used to determine the R2DBC driver and
database location. If not, an embedded database is started (with only
support of H2 via r2dbc-h2). If none of those succeed, an exception is
thrown that is handled by a dedicated FailureAnalyzer.

To clearly separate reactive from imperative access, a `DataSource` is
not auto-configured if a `ConnectionFactory` is present. This makes sure
that any auto-configuration that relies on the presence of a
`DataSource` backs off.

There is no dedicated database initialization at the moment but it is
possible to configure flyway or liquibase to create a local `DataSource`
for the duration of the migration. Alternatively, if Spring Data R2DBC
is on the classpath, a `ResourceDatabasePopulator` bean can be defined
with the scripts to execute on startup.

See gh-19988

Co-authored-by: Mark Paluch <mpaluch@pivotal.io>
5 years ago
Stephane Nicoll 402eb87847 Upgrade to Tomcat 9.0.31
Closes gh-20277
5 years ago
Stephane Nicoll a7f3b801ae Upgrade to Sendgrid 4.4.5
Closes gh-20268
5 years ago
Stephane Nicoll a039f6328d Start building against Spring Framework 5.2.4 snapshots
See gh-20240
5 years ago
Stephane Nicoll 67d2258e76 Start building against Spring Framework 5.2.4 snapshots
See gh-20199
5 years ago
Scott Frederick 8f84dbe3cf Harmonize MongoDB client factories
This commit brings MongoClientFactory and ReactiveMongoClientFactory
into functional alignment and reduces duplication in the classes
and their tests.

There are no behavior changes to ReactiveMongoClientFactory.
MongoClientFactory now throws an exception when a URI is configured
along with a host, port, or credentials, where it previousy ignored
host, port, and credentials silently. MongClientFactory now also
supports MongoClientSettingsBuilderCustomizers.

Fixes gh-20019
5 years ago
Stephane Nicoll d65e06081f Update copyright year of changed files
See gh-20226
5 years ago
Johnny Lim 8be8a8421d Polish
See gh-20226
5 years ago
Stephane Nicoll 287d577aea Merge branch '2.2.x'
Closes gh-20218
5 years ago
Stephane Nicoll 1d60184075 Merge branch '2.1.x' into 2.2.x
Closes gh-20217
5 years ago
Stephane Nicoll 2147976c17 Do not fallback to embedded configuration if a datasource url is set
This commit makes sure that a fallback embedded datasource is not
created if no suitable connection pool is found and an url has been
explicitly registered.

This is consistent with EmbeddedDataSourceConfiguration as it is using
EmbeddedDatabaseBuilder behind the scenes and the latter does not
honour the configured URL anyway.

Closes gh-19192
5 years ago
Stephane Nicoll 4bcf4245d1 Polish "Add support for configuring Liquibase tag property"
See gh-19316
5 years ago
Eddú Meléndez 407e237f10 Add support for configuring Liquibase tag property
See gh-19316
5 years ago
Stephane Nicoll b56c4f1a4d Polish "Add support for configuring Jetty's backing queue"
See gh-19494
5 years ago
cbono 852734b129 Add support for configuring Jetty's backing queue
See gh-19494
5 years ago
Stephane Nicoll 2ede9e63b9 Merge branch '2.1.x' into 2.2.x
Closes gh-20117
5 years ago
Stephane Nicoll 32c1dd45a9 Revert "Merge pull request #19926 from xak2000"
Closes gh-19926
5 years ago
Andy Wilkinson 09fa8255cd Upgrade to Tomcat 9.0.31
Closes gh-20167
5 years ago
Stephane Nicoll faaf9a7e0c Upgrade to SendGrid 4.4.4
Closes gh-20092
5 years ago
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
Phillip Webb 75a1a24914 Polish "Ensure Flyway/Liquibase runs before Quartz"
See gh-17539
5 years ago
Dmytro Nosan 7e5bd1f281 Ensure Flyway/Liquibase runs before Quartz
Add post processors to ensure that SchedulerFactoryBean and Scheduler
beans depend on the Flyway and Liquibase beans.

See gh-17539
5 years ago
dreis2211 3e35a6616c Fix duplicated words
See gh-18004
5 years ago
Phillip Webb 1283bc05d7 Merge branch '2.1.x'
Closes gh-18021
5 years ago
Phillip Webb 5938ca78b6 Fix request matcher management context support
Fix caching issues in `ApplicationContextRequestMatcher` and allow
subclasses to ignore an application context entirely. Update existing
matcher implementations so that they deal with the management context
correctly.

Prior to this commit, the `ApplicationContextRequestMatcher` would
return a context cached from the first request. It also didn't
provide any way to ignore a context. This meant that if the user was
running the management server on a different port the matching results
could be inconsistent depending on if the first request arrived on
the regular context or the management context. It also meant that we
could not distinguish between the regular context and the management
context when matching.

Closes gh-18012
5 years ago
davinkevin 84c81462b4 Upgrade to jOOQ 3.12.0
See gh-18014
5 years ago
Andy Wilkinson e2edb6a539 Polish "Auto-configure Flyway with JavaMigration beans"
See gh-17993
5 years ago
Semyon Danilov ff68295928 Auto-configure Flyway with JavaMigration beans
See gh-17993
5 years ago
Andy Wilkinson 0e2a131e5d Polish "Upgrade to Flyway 6.0.1"
See gh-17997
5 years ago
Semyon Danilov 278b20d9c9 Upgrade to Flyway 6.0.1
See gh-17997
5 years ago
Stephane Nicoll 96596f8ecc Polish contribution
See gh-17962
5 years ago
Kant 7ee3656188 Polish
See gh-17962
5 years ago
Madhura Bhave 2726540e76 Merge branch '2.1.x'
Closes gh-17980
5 years ago
Madhura Bhave 674f2f5a6c EndpointRequest should match @ServletEndpoint
This commit also changes the request matcher for MVC
endpoints to use an AntPathRequestMatcher instead of an
MvcRequestMatcher. The endpoint is always available
under the mapped endpoint path and this way the same matcher
can be used for both MVC and Jersey.

Fixes gh-17912

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
5 years ago
dreis2211 ec57f0c31f Fix upstream RSocket method renames
See gh-17973
5 years ago
Madhura Bhave 46ea4a2501 isPublisherConfirms in RabbitProperties should not throw NPE
Fixes gh-17967
5 years ago
Stephane Nicoll 7d994e607d Restructure tests to exercise deprecated property in a dedicated test
See gh-17848
5 years ago
Madhura Bhave 21783faede Merge branch '2.1.x'
Closes gh-17953
5 years ago
Madhura Bhave 28d374d84d Polish "Configure Issuer Validator for Resource Server"
See gh-17952
5 years ago
HaiTao Zhang b3d189cf87 Configure Issuer Validator for Resource Server
See gh-17952
5 years ago
Madhura Bhave 8954fe13e5 Polish "Support additional publisher confirm types"
See gh-17848
5 years ago
HaiTao Zhang 8c1c8a27d9 Support additional publisher confirm types
See gh-17848
5 years ago
LiangYong 12bfca56d6 Remove unnecessary null check
See gh-17916
5 years ago
Andy Wilkinson c48228f645 Merge branch '2.1.x'
Closes gh-17942
5 years ago
Andy Wilkinson ac0a22d603 Tolerate LCEMFB with null JpaVendorAdapter in JPA auto-config
Closes gh-17935
5 years ago
Andy Wilkinson 05e089601e Remove default favicon and support for serving from classpath root
Closes gh-17925
5 years ago
dreis2211 6ef6875a60 Correct WebFlux response body method
See gh-17919
5 years ago
Andy Wilkinson 9ac6485768 Prioritise static resource locations over classpath for favicon.ico
Closes gh-17922
5 years ago
Brian Clozel e7c3ab3e27 Rename WebFlux response body methods
This commit adapts to recent changes in Spring Framework.
See spring-projects/spring-framework#23212
5 years ago
Andy Wilkinson 7f8944d00f Polish 5 years ago
Andy Wilkinson cc3df98135 Merge branch '2.1.x' 5 years ago
Andy Wilkinson ab87b2a39b Polish 5 years ago
LiangYong a5746d0a03 Simplify some code
See gh-17893
5 years ago
dreis2211 d4affd7f85 Use hasSize() assertion in favor of length checks
See gh-17874
5 years ago
Stephane Nicoll 04b63cda8f Merge branch '2.1.x'
Closes gh-17889
5 years ago
Filip Hrisafov 1ebbe9fc55 Map non-null LDAP properties
The userDn and password in LdapContextSource are not nullable. The
default values for userDn and password in LdapProperties are null. When
the values are set to null there will eventually be a
NullPointerException during
AbstractContextSource#setupAuthenticatedEnvironment since HashTable
doesn't allow null for values.

See gh-17861
5 years ago
Madhura Bhave 76dfe1aae4 Merge branch '2.1.x'
Closes gh-17887
5 years ago
Madhura Bhave 0187e5106d Polish "Set up SpringLiquibase beans' dependencies by type rather than name"
See gh-17805
5 years ago
Andrii Hrytsiuk b69f9e9fdf Add missing javadoc
See gh-17805
5 years ago
Andrii Hrytsiuk eaad22dd89 Set up SpringLiquibase beans' dependencies by type rather than name
See gh-17805
5 years ago
Madhura Bhave 64e8b1d47c Polish "Add properties for Jetty threadpool"
See gh-17871
5 years ago
HaiTao Zhang 1024d74742 Add properties for Jetty threadpool
See gh-17871
5 years ago
Madhura Bhave eea83e935e Resolve httpstatus error series using raw int code
See gh-16691
5 years ago
Madhura Bhave 4b4dc28a86 Support non-standard error codes with AbstractErrorWebExceptionHandler
Fixes gh-16691
5 years ago
Madhura Bhave 178746d678 Update Opaque Token Client Name following upstream changes
Closes gh-17846
5 years ago
Brian Clozel 16f798dc11 Apply RSocket transport configuration on server
Fixes gh-17845
5 years ago
dreis2211 b605cddb10 Polish some Collections API calls
See gh-17825
5 years ago
Stephane Nicoll b8a1043e98 Merge branch '2.1.x'
Closes gh-17813
5 years ago
Stephane Nicoll 1b3a6d1616 Polish "Configure a temporary directory with Undertow"
See gh-17778
5 years ago
Vedran Pavic 85a289f71a Harmonize Spring Session flush mode properties javadoc
See gh-17797
5 years ago
Vedran Pavic 84dd1f2d29 Add support for configuring Spring Session JDBC flush mode
See gh-17797
5 years ago
Madhura Bhave c5d1781ae1 Merge branch '2.1.x'
Closes gh-17793
5 years ago
陈其苗 77931a0981 Fix typo in assertion
See gh-17774
5 years ago
Stephane Nicoll 7874de4062 Restore tests that were failing with Java 13
Closes gh-17607
5 years ago
Madhura Bhave ea244aa32b Merge branch '2.1.x'
Closes gh-17769
5 years ago
Madhura Bhave faaada1416 Remove liquibase check change log location
Missing change logs would lead to an exception even
if the checkChangeLogLocation was set to false. Spring Boot's check
would pass but Liquibase would fail later making this property redundant.

Fixes gh-16232
5 years ago
Stephane Nicoll f021c227e1 Polish 5 years ago
Stephane Nicoll 45915d085e Merge branch '2.1.x'
Closes gh-17767
5 years ago
Stephane Nicoll eb26492eef Polish 5 years ago
Michael Simons 274098f2e2 Refine back-off strategy of Neo4j SessionFactory
This commit separates the auto-configuration of the `SessionFactory` in
an isolated class so that the rest of the auto-configuration is still
applied if the user provides a custom `SessionFactory` bean.

See gh-17662
5 years ago
Madhura Bhave e06b06d817 Polish "Support RFC 8414 in JwtDecoders and ClientRegistrations"
See gh-17761
5 years ago
HaiTao Zhang 8baec96453 Support RFC 8414 in JwtDecoders and ClientRegistrations
See gh-17761
5 years ago
Madhura Bhave f7f858bce8 Merge branch '2.1.x'
Closes gh-17759
5 years ago
Madhura Bhave 5f3364326b Configure interceptors for WelcomePageHandlerMapping
Fixes gh-16309
5 years ago
Stephane Nicoll bee373d6cf Start building against Spring HATEOAS 1.0 snapshots
See gh-17755
5 years ago
Stephane Nicoll da0ab06d1a Merge branch '2.1.x'
Closes gh-17754
5 years ago
Stephane Nicoll f2fd169c3a Rename restClient to elasticsearchRestClient
For consistency, similar beans have been renamed as well.

Closes gh-17751
5 years ago
Stephane Nicoll 1ec8e822a1 Fix broken build 5 years ago
Stephane Nicoll 48e07c8fda Merge branch '2.1.x'
Closes gh-17753
5 years ago
Stephane Nicoll fb0fccf3c7 Polish "Create RestClient from a RestHighLevelClient if available"
This significantly rework the auto-configuration to reflect the order
in which things are expected. Rather than keeping a conceptual cycle
between the builder and the two inner classes that are processed first,
the configuration is now split in three parts:

* The builder that is required and common
* The configuration when the HighLevelClient is available
* The RestClient configuration when that's not the case

See gh-17488
5 years ago
Dmytro Nosan 0e87b9c163 Create RestClient from a RestHighLevelClient if available
See gh-17488
5 years ago
Phillip Webb 34c31ce099 Remove BeanTypeRegistry
Remove `BeanTypeRegistry` and rely entirely on standard calls Spring
Framework APIs.

Closes gh-17594
5 years ago
Phillip Webb da4f436140 Change SearchStrategy EXHAUSTIVE to TYPE_HIERARCHY
Fixup references following upstream Spring Framework change.
5 years ago
Johnny Lim 2c2ee92a39 Remove ConditionEvaluationReportLoggingListener in a test
See gh-17742
5 years ago
Stephane Nicoll c08fe65429 Merge branch '2.1.x'
See gh-17744
5 years ago
Stephane Nicoll dc4e67f5dd Remove useless classpath override 5 years ago
Stephane Nicoll 44a0afcec3 Polish "Allow for custom EntityMapper bean"
See gh-17661
5 years ago
P.J. Meisch a1cf665f98 Allow for custom EntityMapper bean
See gh-17661
5 years ago
Stephane Nicoll e52d398771 Adapt to recent changes in Spring Security snapshots 5 years ago
dreis2211 8d2f2b75bd Upgrade to AssertJ 3.13.1
See gh-17690
5 years ago
Madhura Bhave b6754f6f20 Fix test 5 years ago
Madhura Bhave 805264a13c Merge pull request #17646 from htztomic
* pr/17646:
  Polish "Default password shouldn't be generated for resource server"
  Default password should not be generated when using resource server

Closes gh-17646
5 years ago
Madhura Bhave e184298c50 Polish "Default password shouldn't be generated for resource server"
See gh-17646
5 years ago
HaiTao Zhang 1b0cf7bd22 Default password should not be generated when using resource server
See gh-17646
5 years ago
Phillip Webb 6675f49334 Switch to multi-line security configuration
Now that we have lambda style security configuration we can further
improve readability by switching to one statement per line.

See gh-17525
5 years ago
Stephane Nicoll 858199a2fa Only configure Spring Data jdbc if a transaction manager is present
This commit adds an extra condition to JdbcRepositoriesAutoConfiguration
so that it doesn't scan for repositories if a transaction manager is not
available as this dependency is now mandatory.

Closes gh-17654
5 years ago
Stephane Nicoll 97907aac30 Polish 5 years ago
Johnny Lim a80749ed81 Add missing assertion in dispatcherServletCustomConfig()
See gh-17648
5 years ago
Madhura Bhave 3423dbf6ac Add transaction manager in Spring Data jdbc tests
See gh-17654
5 years ago
Madhura Bhave 39a7b9da38 Switch to lambda style security configuration
Closes gh-17525
5 years ago
Stephane Nicoll b79de1e7e3 Fix broken build 5 years ago
Brian Clozel 5beb7edfbb Reinstate RSocket codecs configuration ordering
Since spring-projects/spring-framework#23314 and the following commit
spring-projects/spring-framework@be4facef1b, the RSocket codec selection
is relaxed and the order of configured commits matters again.

This commit ensures that the CBOR codec is configured ahead of the JSON
codec so that it can be chosen first if no data mime type is specified
when a connection is established with a client requester.
5 years ago
Brian Clozel 1996952e68 Update RSocket configuration after Framework changes
Since spring-projects/spring-framework#23314, the `RSocketStrategies`
provide more codecs by default, and there is no need to order them to
avoid conflicts during mime type selection.

This commit also ensures that the `PayloadDecoder.ZERO_COPY` is
configured on the RSocket server if the configured `DataBufferFactory`
is compatible with that strategy.
5 years ago
Dmytro Nosan efce9388e7 Trim OAuth2 provider property whitespace
Update `OAuth2ClientPropertiesRegistrationAdapter` to trim whitespace
of the "provider" property.

See gh-17497
5 years ago
Phillip Webb 8bc780762a Merge branch '2.1.x' 5 years ago
Phillip Webb fb1dd8fe93 Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb 913e831f4e Merge '1.5.x' into 2.0.x 5 years ago
dreis2211 c8097692ea Align JavaVersion.NINE name with JDK versioning
See gh-17611
5 years ago
Johnny Lim 43345b36e6 Polish
See gh-17616
5 years ago
Stephane Nicoll 690019ba8f Polish "Disable tests that are failing on Java 13"
See gh-17607
5 years ago
Stephane Nicoll 5f3fff6470 Disable tests that are failing on Java 13
Hazelcast YAML support does not work with Java 13 so this commit
disables relevant tests when Java 13 is detected

See https://github.com/hazelcast/hazelcast/issues/15348

See gh-17607
5 years ago
Brian Clozel 53afbbe233 Update RouteMatcher configuration for RSocket
This commit updates the `RouteMatcher` configuration after the latest
Spring Framework changes. The default route matcher implementation based
on the `PathPattern` infrastructure is now tailored for the messaging
use case (path separator, path encoding options and trailing separator).

See spring-projects/spring-framework#23310
5 years ago
Stephane Nicoll 3c7ac4fe7f Polish 5 years ago
Stephane Nicoll 55079c3a80 Merge branch '2.1.x'
Closes gh-17602
5 years ago
Stephane Nicoll 1661da8774 Polish "Configure ActiveMQConnectionFactory properly without spring-jms"
See gh-17531
5 years ago
Dmytro Nosan 77b52b993b Configure ActiveMQConnectionFactory properly without spring-jms
See gh-17531
5 years ago
adavid9 6211a682d6 Replace deprecated media type
See gh-17596
5 years ago
Phillip Webb ff9f5fd1c7 Polish OnBeanCondition
Polish `OnBeanCondition` and make it easier to remove `BeanTypeRegistry`
in the future.

See gh-17594
5 years ago
Andy Wilkinson ea1dc85d50 Isolate Jackson2ObjectMapperBuilder mutation
Previously, Jackson2ObjectMapperBuilder was a singleton bean. This
meant that if it was injected and mutated in one injection point,
usage in a subsequent injection point would see the previous
injection point's mutation which can lead to unexpected failures.

This commit updates the auto-configuration of the builder to make it
a protoype bean. Mutation of the builder that is intended to apply
globally should be made using a customizer.

Closes gh-17477
5 years ago
Andy Wilkinson c7d2799f4e Add configuration property for DispatcherServlet event publishing
Closes gh-17500
5 years ago
Stephane Nicoll 3dd5426ea5 Polish "Adjust to changes in Spring AMQP 2.2 snapshots"
See gh-17587
5 years ago
dreis2211 e71a417399 Adjust to changes in Spring AMQP 2.2 snapshots
See gh-17587
5 years ago
Stephane Nicoll dd2f20fcd2 Polish "Add support for configuring Tomcat's relaxed path and query chars"
See gh-17510
5 years ago
dirkdeyne 1fee797af7 Add support for configuring Tomcat's relaxed path and query chars
See gh-17510
5 years ago
dreis2211 2038fac825 Remove testsupport.assertj package
See gh-17557
5 years ago
Andy Wilkinson 3bf5cf1124 Merge branch '2.1.x'
Closes gh-17562
5 years ago
Andy Wilkinson b725c60177 Deprecate DeploymentInfo customization with reactive Undertow
Fixes gh-17555
5 years ago
Phillip Webb a9ba7080ce Merge branch '2.1.x' 5 years ago
Phillip Webb d567261790 Polish 5 years ago
Andy Wilkinson dad7fb4f6d Add NettyServerCustomizer beans to the auto-configured factory
Closes gh-17556
5 years ago
Andy Wilkinson ea1139755d Ensure that customizers registered multiple times are only called once
Closes gh-17264
5 years ago
Andy Wilkinson 73f7a9318f Merge branch '2.1.x'
Closes gh-17546
5 years ago
Andy Wilkinson e84477cfe2 Only perform Quartz DataSource init when using JDBC store
Fixes gh-17545
5 years ago
Stephane Nicoll 1f7615a964 Polish "Add support for configuring Spring Session SaveMode"
See gh-17514
5 years ago
Vedran Pavic e073792448 Add support for configuring Spring Session SaveMode
See gh-17514
5 years ago
Andy Wilkinson 8aed06452d Allow custom resource handlers to provide favicon.ico
Closes gh-17381
5 years ago
Phillip Webb eff1147ccc Rename classpath runner package
Remove `runner` since we're no longer tied to JUnit 4.

See gh-17491
5 years ago
Phillip Webb 1117fdb2b3 Make ModifiedClassPathExtension package private
Meta-annotate `ClassPathExclusions` and `ClassPathOverrides` with
so that the `ModifiedClassPathExtension` no longer needs to be
used directly.

See gh-17491
5 years ago
dreis2211 0f0278e69b Migrate ModifiedClassPath tests to JUnit 5
Migrate the remaining JUnit 4 tests to JUnit 5, making use of the
new `ModifiedClassPathExtension`.

See gh-17491
5 years ago
dreis2211 b0bf2dd7ab Migrate to ApplicationContextRunner
Migrate a new tests to use the `ApplicationContextRunner`.

See gh-17491
5 years ago
Phillip Webb 0cb6a7f47d Polish 5 years ago
Phillip Webb 01933f9b06 Merge previously split strings
Merge some string lines that were previously split because of the
90 chars wide formatting.
5 years ago
Phillip Webb c3816bfe7b Polish output capture names 5 years ago
Phillip Webb b7e092e821 Fix upstream RSocket method renames
Align with the recent upstream Spring Framework changes triggered by
their issue #23170.
5 years ago
Andy Wilkinson dc0432665b Use ephemeral ports rather than 8080 in our tests
Closes gh-17025
5 years ago
Andy Wilkinson 1fffe0ab3e Merge branch '2.1.x'
Closes gh-17482
5 years ago
Dmytro Nosan 93d0427fb5 Polish AbstractDependsOnBeanFactoryPostProcessor
See gh-17480
5 years ago
Andy Wilkinson 47f4bb0d64 Merge branch '2.1.x'
Closes gh-17481
5 years ago
Andy Wilkinson f753c31988 Polish "Set up MongoClient beans' dependencies by type rather than name"
See gh-16627
5 years ago
ielatif 39f1039425 Set up MongoClient beans' dependencies by type rather than name
See gh-16627
5 years ago
Andy Wilkinson 6adcd75481 Merge branch '2.1.x'
Closes gh-17479
5 years ago
Andy Wilkinson 80650f485d Polish "Allow depended on beans to be identified by type"
See gh-17020
5 years ago
Dmytro Nosan 9923ffe9bd Allow depended on beans to be identified by type
Prior to this commit, `AbstractDependsOnBeanFactoryPostProcessor`
could only identify depended on beans by name.

See gh-17020
5 years ago
Brian Clozel 3c28622ebc Add support for reactor-tools debug agent
The `reactor-tools` dependency now brings a new Reactor Debug Agent
which instruments loaded classes for better Reactor stacktraces.
This commit removes the `spring.reactor.stacktrace-mode.enabled`
configuration property since the related Reactor Hook is about to be
removed.
As a replacement, we're introducing `spring.reactor.debug-agent.enabled`
which tells whether the Reactor Debug Agent should be loaded, given that
the `reactor-tools` dependency is available. This option is enabled by
default, since adding the dependency on classpath is a strong signal
already.

Fixes gh-17128
5 years ago
Brian Clozel b1a3849b27 Disable Jackson XML support in RSocket codecs
Prior to this commit, having the `spring-boot-starter-rsocket` and the
`jackson-dataformat-xml` dependencies on classpath would result in a
`ClassCastException` when the RSocket auto-configuration tries to
configure Jackson CBOR codecs for RSocket strategies.

This commit disables the Jackson XML support for the CBOR codec in
RSocket.

Fixes gh-17425
5 years ago
Dmytro Nosan fd9e8503bb Polish BatchAutoConfiguration
See gh-17462
5 years ago
Andy Wilkinson edff0f87e2 Merge branch '2.1.x'
Closes gh-17466
5 years ago
Andy Wilkinson acd9b61c8e Make Batch JPA auto-configuration back off without a DataSource
Fixes gh-17465
5 years ago
Andy Wilkinson a40bc64f6e Merge branch '2.1.x'
Closes gh-17463
5 years ago
Andy Wilkinson c5241f0e82 Remove accidental usage of com.hazelcast.util.Base64
Closes gh-17461
5 years ago
Andy Wilkinson d93c79316d Align with body method changes in RequestBodySpec
Closes gh-17460
5 years ago
Andy Wilkinson 3e6c15c451 Deprecate auto-configuration for Joda-Time
Closes gh-17419
5 years ago
Johnny Lim 426ef749db Polish
See gh-17413
5 years ago
Madhura Bhave 939a247d87 Merge pull request #17448 from izeye
* pr/17448:
  Fix typo

Closes gh-17448
5 years ago
Johnny Lim e42f4d0279 Fix typo
See gh-17448
5 years ago
Andy Wilkinson b0626bca32 Merge branch '2.1.x'
Closes gh-17454
5 years ago
Andy Wilkinson 02bea78229 Retain as much Batch auto-config as possible without Spring JDBC
Closes gh-17451
5 years ago
Andy Wilkinson 5b7c0e0c58 Merge branch '2.1.x'
Closes gh-17453
5 years ago
Andy Wilkinson a023f308ed Make JDBC-based batch configurer back off without a DataSource
Closes gh-17449
5 years ago
Andy Wilkinson 072453bf58 Polish "Add support for configuring a Batch-specific DataSource"
See gh-17375
5 years ago
Dmytro Nosan f449665e2a Add support for configuring a Batch-specific DataSource
See gh-17375
5 years ago
Andy Wilkinson 3ba25b9ee9 Simplify class loading check in pooled DataSource condition
Closes gh-17284
5 years ago
Andy Wilkinson b39479bc07 Polish "Add config property for Kafka consumer isolation level"
See gh-17389
5 years ago
Ryan Dunckel 1b8f955fec Add config property for Kafka consumer isolation level
See gh-17389
5 years ago
Andy Wilkinson 2816635418 Polish 5 years ago
Andy Wilkinson 6a777a7f9b Disable HiddenHttpMethodFilter by default
HiddenHttpMethodFilter can be problematic as it causes early
consumption of a request body if the body may contain parameters. This
happens as the filter needs to read the parameters to see if an
_method parameter is present. The filter is only beneficial for web
applications that are the hidden HTTP method functionality but is
potentially detriimental to all applications that are not. As such
we no longer believe that it should be enabled by default and users
should be required to opt in.

Closes gh-16953
5 years ago
Andy Wilkinson 2af815f2cf Merge branch '2.1.x'
Closes gh-17432
5 years ago
Andy Wilkinson 7f85aba546 Auto-configure Data Mongo if user provides MongoDbFactory but no client
Previously, if a user defined a MongoDbFactory bean but did not define
a client bean, MongoDataAutoConfiguration would back off leaving the
context without a MongoTemplate, etc.

This commit reworks the auto-configuration so that only the
auto-configuration of a MongoDbFactory is dependent on the existence
of a Mongo client bean. Auto-configuration of the other components
that depend on a MongoDbFactory will now continue in the absence of a
Mongo client bean.

Closes gh-17416
5 years ago
dreis2211 7c6fd31d06 Use Spring 5 module of Jersey
See gh-17412
5 years ago
Madhura Bhave 3bd7760f9c Polish "Allow Undertow's options to be configured via the environment
See gh-17356
5 years ago
HaiTao Zhang 417f4dd7fa Allow Undertow's options to be configured via the environment
See gh-17356
5 years ago
Phillip Webb a66c4d3096 Unify method visibility of private classes
Apply checkstyle rule to ensure that private and package private
classes do not have unnecessary public methods. Test classes have
also been unified as much as possible to use default scoped
inner-classes.

Closes gh-7316
5 years ago
Andy Wilkinson 4ab4198168 Switch to Infinispan's Spring 5 integration
Closes gh-17333
5 years ago
Vedran Pavic 8ed71b3c51 Start building against Spring Session Corn-M3 snapshots
See gh-17278
5 years ago
Dmytro Nosan 1d9aae8282 Introduce RedisCacheManagerBuilderCustomizer
See gh-17287
5 years ago
Andy Wilkinson 4c812b065d Merge pull request #17322 from garyrussell
* gh-17322:
  Auto-configure KLC with user-provided RecordInterceptor

Closes gh-17322
5 years ago
Gary Russell eeda12bd58 Auto-configure KLC with user-provided RecordInterceptor
spring-kafka.2.3.0.M3 introduced a new property `RecordInterceptor` to
the container factory.

Auto-configure the property if a single instance is present.

See gh-17322
5 years ago
Andy Wilkinson 9f521430fa Polish "Use @EmbeddedKafka for Integration Tests"
See gh-17355
5 years ago
Gary Russell 815834ab6e Use @EmbeddedKafka for Integration Tests
`@EmbeddedKafka` now supports JUnit 5 without the need for a Spring
test application context. Remove the previous workaround that replaced
the JUnit4 `@ClassRule` and use `TopicBuilder` to build the
topic bean.

See gh-17355
5 years ago
Andy Wilkinson 6212901bc1 Polish "Add 'client-name' property to specify a Redis client name"
See gh-17330
5 years ago
Dmytro Nosan f877caf118 Add 'client-name' property to specify a Redis client name
See gh-17330
5 years ago
Andy Wilkinson 8f668610f7 Align RSocket auto-configuration latest Framework changes
Closes gh-17366
5 years ago
Phillip Webb 605599138e Merge branch '2.1.x' 5 years ago
Phillip Webb 92bff3c328 Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb cfeb0239b7 Merge branch '1.5.x' into 2.0.x 5 years ago
Phillip Webb c62b6b4ccd Merge branch '2.1.x' 5 years ago
Phillip Webb de35efd1ef Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb bb34846630 Merge branch '1.5.x' into 2.0.x 5 years ago
rossdrew d6977ea89f Remove hyphenation of opaquetoken in OAuth2 property names
See gh-17290
5 years ago
Andy Wilkinson 66f1344f7c Merge branch '2.1.x'
Closes gh-17335
Closes gh-17292
5 years ago
Phillip Webb 0b720b99b2 Merge branch '2.1.x'
Closes gh-17308
5 years ago
Phillip Webb 02e705c8e4 Relax nohttp requirement for service.wsdl
Unfortunately https references cause eclipse errors so we need to
relax the requirement for this file.

Fixes gh-17307
5 years ago
Brian Clozel 9166b6d329 Polish "Make rSocketServerBootstrap @ConditionalOnMissingBean"
See gh-17301
5 years ago
Spencer Gibb 2cb6af959b
Make rSocketServerBootstrap @ConditionalOnMissingBean
7857dd2d72 broke gateway's ability to override the `SocketAcceptor`.
5 years ago
Andy Wilkinson 7405efa326 Ensure that each Tomcat customizer is only called once
Fixes gh-17264
5 years ago
Stephane Nicoll e560b7f6ba Remove public modifier on JUnit5 lifecycle methods
See gh-17292
5 years ago
Stephane Nicoll 374e02cac8 Simplify HibernateJpaAutoConfiguration classes check
This commit removes the now outdated `HibernateEntityManagerCondition`
in favour of a simple check of `SessionImplementor`. As of
Hibernate 5.2, a single `hibernate-core` jar is required so a single
class check is enough.

Closes gh-17288
5 years ago
Stephane Nicoll 8a7609f940 Simplify HibernateJpaAutoConfiguration classes check
This commit removes the now outdated `HibernateEntityManagerCondition`
in favour of a simple check of `SessionImplementor`. As of
Hibernate 5.2, a single `hibernate-core` jar is required so a single
class check is enough.

Closes gh-17283
5 years ago
Brian Clozel 7857dd2d72 Update after RSocket changes in Spring Framework
Spring Framework recently removed the `MessageHandlerAcceptor` (which is
a sub-class of `RSocketMessageHandler`).
Instead of implementing directly the `SocketAcceptor` contract, it now
exposes them through `clientAcceptor()` and `serverAcceptor()` methods.

See gh-17280
5 years ago
Phillip Webb 69fbd8f20c Merge branch '2.1.x'
Closes gh-17227
Closes gh-17228
6 years ago
Phillip Webb 692bda1595 Polish "Fix connection timeout configuration for Netty"
See gh-16535
6 years ago
ayudovin b0e4c716d3 Fix connection timeout configuration for Netty
Update `NettyWebServerFactoryCustomizer` to deal with the fact that
Netty treats `0` and negative connection timeout values differently to
Tomcat, Undertow and Jetty.

See gh-16535
6 years ago
Andy Wilkinson 9d355f00e1 Merge branch '2.1.x'
Closes gh-17218
6 years ago
Andy Wilkinson 5dc2339ec2 Polish "Consider properties from @AutoConfigureTestDatabase"
See gh-16814
6 years ago
András Deák 92256c80d0 Consider properties from @AutoConfigureTestDatabase
Both Flyway and Liquibase makes use of DataSourceProperties to get
default properties. Previously, both used strictly the configuration
properties and failed to consider embedded datasource properties
autoconfigured by @AutoConfigureTestDatabase. In case a database layer
test e.g. @JdbcTest relies on the autoconfigured embedded datasource,
Flyway and Liquibase autoconfiguration fails as they are not aware of
the embedded datasource properties.

See gh-16814
6 years ago
Madhura Bhave c6dae5764e Add bindOrCreate for constructor based binding
Deprecate the existing `BindResult.orElseCreate` method in favor of
`bindOrCreate` methods on the `Binder`. These new methods allow us to
implement custom creation logic depending on the type of object being
bound. Specifically, it allows constructor based binding to create new
instances that respect the `@DefaultValue` annotations.

Closes gh-17098

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
6 years ago
Andy Wilkinson 48adfe626c Log H2 console path and JDBC URL on startup
Closes gh-17063
6 years ago
Madhura Bhave 0d2e44151b Fix tests following Spring Security changes 6 years ago
Phillip Webb 9db20313a1 Polish "Add Printer and Parser beans to conversion service"
Extract common registration code and make use of the Spring Framework
registration methods.

See gh-17064
6 years ago
Dmytro Nosan 955eaa87ae Add Printer and Parser beans to conversion service
Update `WebMvcAutoConfiguration` and `WebFluxAutoConfiguration` so that
`Printer<T>` and `Parser<T>` beans are automatically registered with
the conversion service.

Prior to this commit only `GenericConverter`, `Converter` and
`Formatter` beans were automatically registered.

See gh-17064
6 years ago
Stephane Nicoll 54c72cf39f Polish 6 years ago
Stephane Nicoll 985c8f7598 Polish RSocket support 6 years ago
Andy Wilkinson 704b5fb2ee Enable encoding of message/x.rsocket.routing.v0 requests
Closes gh-17135
6 years ago
Phillip Webb e0aa90cf32 Fix incomplete polish of RedisSessionProperties
Fix polish commit from 919913ae66 to correctly name the property
getter/setters.

See gh-17022
6 years ago
Phillip Webb 919913ae66 Polish "Add session property for ConfigureRedisAction"
See gh-17022
6 years ago
Dmytro Nosan a0fabc9851 Add session property for ConfigureRedisAction
Add a new property to `RedisSessionProperties` that allows the default
`ConfigureRedisAction` to be changed. Users can still also configure
the action using a `@Bean`.

See gh-17022
6 years ago
Phillip Webb aad21d1996 Polish "Support default headers with RestTemplateBuilder"
Broaden the scope of customizer support so that instead of focusing
just on headers, we can now customize any outgoing `HttpClientRequest`.
Also update auto-configuration to automatically add any
`RestTemplateRequestCustomizer` beans to the builder.

See gh-17091
6 years ago
Andy Wilkinson 9b5cb4f9b8 Remove need for public constructor on inner-class
Closes gh-17086
6 years ago
Brian Clozel 7a9d1a1e34 Change default Freemarker template file extension
This commit changes the default file extension for Freemarker templates
from `*.ftl` to `*.ftlh`. This commit also enables by default the
Freemarker setting `"recognize_standard_file_extensions"` to ensure that
HTML escaping is performed by default in Spring Boot applications.

Applications should adapt to this change by changing the file extensions
of existing templates to `.ftlh`.

Closes gh-15131
6 years ago
Phillip Webb b3d5cd538d Add JUnit 5 checkstyle rules
Add a rule to enforce JUnit 5 usage and conventions.

Closes gh-17093
6 years ago
Madhura Bhave 2560b54f7c Add configuration support for Opaque Token authentication
Closes gh-15872
6 years ago
Andy Wilkinson 75e45fd239 Switch to @DisableWithoutTestcontainers
Closes gh-17092
6 years ago
Phillip Webb 266d6334b2 Fix checkstyle RedundantModifier test violations 6 years ago
Phillip Webb cde4f0d688 Fix checkstyle violations 6 years ago
Andy Wilkinson b18fffaf14 Move tests to JUnit 5 wherever possible 6 years ago
Andy Wilkinson aef92b9295 Merge branch '2.1.x'
Closes gh-17079
6 years ago
Andy Wilkinson 24925c3dae Merge branch '2.0.x' into 2.1.x
Closes gh-17078
6 years ago
Andy Wilkinson c6c139d980 Merge branch '1.5.x' into 2.0.x 6 years ago
Brian Clozel 5b2de5c81d Configure PathPattern for RSocket routing
This commit configures a `PathPatternRouteMatcher` in the RSocket
support if spring-web is on the classpath. This `RouteMatcher`
implementation is more efficient than the `SimpleRouteMatcher`, which is
based on the `AntPathMatcher`.

Closes gh-16865
6 years ago
Brian Clozel 16c521a9e6 Auto-configure reactive Elasticsearch components
As of Spring Data Moore, a new reactive template and the
corresponding repositories support have been added.

This commit auto-configures a `ReactiveElasticsearchTemplate`
with the configuration properties under the
`spring.data.elasticsearch.client.reactive` namespace.
To enable this feature, applications require both Spring Data
Elasticsearch dependencies (typically
`spring-boot-starter-data-elasticsearch`) and dependencies
for a `WebClient` (often `spring-boot-starter-webflux`).

The support for the reactive Elasticsearch repositories is
also provided.

Closes gh-16214
6 years ago
Phillip Webb db75347eb6 Merge branch '2.1.x' 6 years ago
Phillip Webb 0ef331018e Merge branch '2.0.x' into 2.1.x 6 years ago
Phillip Webb 7fc01971ed Merge branch '1.5.x' into 2.0.x 6 years ago
Phillip Webb d306b31ce9 Merge branch '2.1.x' 6 years ago
Phillip Webb ccfbd03482 Merge branch '2.0.x' into 2.1.x 6 years ago
Phillip Webb b442d3b906 Merge branch '1.5.x' into 2.0.x 6 years ago
Phillip Webb 5fba43aa31 Merge branch '1.5.x' into 2.0.x 6 years ago
Brian Clozel c74badd4f2 Auto-configure Elasticsearch REST client in Spring Data
This commit auto-configures the Elasticsearch REST client support
as a template for Spring Data Elasticsearch. As of this commit,
using the transport client is still possible but developers
should migrate.

This commit also removes the deprecated annotation on the
Elasticsearch auto-configuration for the transport client, since
this deprecation notice is already present on the configuration
property.

Closes gh-17024
Closes gh-16542
6 years ago
Stephane Nicoll ae5b5be597 Reset flag after each test as well to avoid side effects 6 years ago
Stephane Nicoll f30e29a4ad Rename spring.reactor.stacktrace-mode.enabled property
Closes gh-16537
6 years ago
Gary Russell 23cff6fb09 KafkaAutoConfigurationIntegrationTests to JUnit5
See gh-17034
6 years ago
Issam El-atif 4ac1407af1 Use new JettyClientHttpConnector constructor
Simplify `ClientHttpConnectorConfiguration`by using the recently
introduced `JettyClientHttpConnector` constructor.

See gh-17015
6 years ago
Andy Wilkinson 0644a79401 Repackage output capture and always use extension declaratively
Closes gh-17029
6 years ago
Phillip Webb d11d5ceb29 Split up JUnit 5 OutputCapture class
Split the JUnit 5 `OutputCapture` class into separate `OutputExtension`
and `CapturedOutput` classes. The JUnit 5 callback methods are now
contained only in the `OutputExtension` class so no longer pollute the
public API that users will interact with.

The `CapturedOutput` class has also been updated to capture System.err
and System.out separately to allow distinct assertions if required.

Closes gh-17029
6 years ago
Phillip Webb ad5e905bd7 Update copyright header of changed files 6 years ago
Phillip Webb 68aec8b6ee Polish 6 years ago
Dmytro Nosan 54061bd59f Polish CassandraDataAutoConfiguration
See gh-17004
6 years ago
dreis2211 38c21f58b8 Add missing @Test annotation
See gh-17012
6 years ago
Phillip Webb c84c9409bd Polish 6 years ago
Andy Wilkinson 880721557b Polish "Auto-configure Flyway and Liquibase when there's a URL but no DataSource"
See gh-16850
6 years ago
ilya.lukyanovich@dataart.com 3ca73bf00d Auto-configure Flyway and Liquibase when there's a URL but no DataSource
See gh-16850
6 years ago
Andy Wilkinson 69a298231c Polish "Configure FluentConfiguration to use ResourceLoader's ClassLoader"
See gh-16947
6 years ago
Alan Gomes cc5bd51343 Configure FluentConfiguration to use ResourceLoader's ClassLoader
See gh-16947
6 years ago
Johnny Lim 0741e6470f Use MediaType.APPLICATION_CBOR constant
See https://github.com/spring-projects/spring-framework/pull/23042

Closes gh-16986
6 years ago
Andy Wilkinson 86380ab8db Add missing package-info.java files 6 years ago
Phillip Webb eb38c3abb7 Fix test broken by additional customizer
See gh-16498
6 years ago
Phillip Webb 9a6415375d Polish 6 years ago
Phillip Webb 6e9f2e42af Merge branch '2.1.x'
Closes gh-16992
6 years ago
Phillip Webb 6913ea24b0 Polish "Fix NoClassDefFound when missing Spring Security"
See gh-16889
6 years ago
Vedran Pavic e9bd11ee83 Fix NoClassDefFound when missing Spring Security
Update Spring Session auto-configuration to ensure that the
`DefaultCookieSerializer` doesn't break when Spring Security is not
present on the classpath.

Closes gh-16889
6 years ago
Phillip Webb df55d73bff Merge branch '2.1.x'
Closes gh-16990
6 years ago
Phillip Webb 278a0866cd Polish "Fix Spring Data Cassandra auto-configure condition"
See gh-16971
6 years ago
Dmytro Nosan be435130e6 Fix Spring Data Cassandra auto-configure condition
Update `CassandraDataAutoConfiguration` do that it's only applied when
a `Cluster` bean is found.

Fixes gh-16971
6 years ago
Andy Wilkinson 0eb6c0ddd3 Defer disabling registry until Tomcat server is being created
Closes gh-16498
6 years ago
Andy Wilkinson b603cd5d4b Disable Tomcat's MBean Registry by default
Closes gh-16498
6 years ago
Brian Clozel d46de7abc4 Polish "Set UTF-8 charset for whitelabel HTML error pages"
Closes gh-16611
6 years ago
qxo 64a8326989 Set UTF-8 charset for whitelabel HTML error pages
This commit changes the HTTP response Content-Type for whitelabel
error pages with Spring WebFlux.

See gh-16611
6 years ago
Brian Clozel 0b70862627 Fix RSocket websocket config with WebFlux
In the case of a WebFlux + RSocket over websocket setup, the RSocket
auto-configuration would not set up the required routes; only the
websocket endpoint for RSocket would be available, overriding the
handler configured for WebFlux.

This commit introduces `NettyRouteProvider`. Components implementing
that interface can contribute HTTP routes to the Reactor Netty server
being built.

* if none is provided, the regular handler setup is used
* if one or more routes are provided, routes are sorted and added before
the WebFlux handler (acting as a default)

Fixes gh-16826
6 years ago
Brian Clozel 45507c475b Configure String codecs in RSocket strategies
Closes gh-16924
6 years ago
Brian Clozel b2e395db7a Avoid codec auto-configuration when WebFlux is not present
This commit prevents the `CodecsAutoConfiguration` from being processed
if spring-webflux is not on classpath, since it is only useful for the
WebFlux server infrastructure or `WebClient`.

Closes gh-15690
6 years ago
Andy Wilkinson 23f803c6b6 Upgrade to Hamcrest 2.1, switch to hamcrest artifact from -core and -library
Closes gh-15555
6 years ago
dreis2211 27ca7e17d9 Fix deprecated StandardAnnotationMetadata usages
Closes gh-16930
6 years ago
Andy Wilkinson 46cdd6ecb2 Merge branch '2.1.x'
Closes gh-16939
6 years ago
Andy Wilkinson da12ad0ca5 Make ReactiveSecurityAutoConfiguration back off without spring-webflux
Closes gh-16934
6 years ago
Stephane Nicoll 74208bb1a7 Polish "Auto-configure Kafka listener container with rebalance listener"
Closes gh-16755
6 years ago
Gary Russell abdc2e1b4f Auto-configure Kafka listener container with rebalance listener
This commit associates a `ConsumerAwareRebalanceListener` to the
auto-configured listener container factory if a single instance is found
in the context.

See gh-16755
6 years ago
Stephane Nicoll 2949561bf6 Polish "Add support for Couchbase's role-based access"
Closes gh-16389
6 years ago
Enes Açıkoğlu 3386856ccf Add support for Couchbase's role-based access
See gh-16389
6 years ago
Stephane Nicoll 3c46b9e83d Polish "Add configuration property for Spring Kafka's missingTopicsFatal"
Closes gh-16740
6 years ago
Gary Russell 1583ce8d26 Add configuration property for Spring Kafka's missingTopicsFatal
See gh-16740
6 years ago
Stephane Nicoll 275d794553 Make sure JdbcTemplateConfiguration is imported once
Closes gh-13806
6 years ago
Phillip Webb 79e05c770f Merge branch '2.1.x' 6 years ago
Phillip Webb ed998ef0d3 Update copyright header of changed files 6 years ago
Phillip Webb a82b5266ae Merge branch '2.1.x'
Closes gh-16858
6 years ago
Phillip Webb e2dc278cae Use default SslContextFactory for JettyClient
Update the auto-configured Jetty `HttpClient` so that a default
`SslContextFactory` is used.

Prior to this commit connecting to https URLs would cause a
`NullPointerException`.

Fixed gh-16810
6 years ago
Stephane Nicoll 128b41d43a Configure JmsMessagingTemplate default destination
Closes gh-16227
6 years ago
Brian Clozel e8d39a1539 Add support for CBOR codecs in RSocket
This commit auto-configures CBOR (see https://cbor.io/) codecs in the
RSocketStrategies, using Jackson binary format support.

The required dependency is added to the rsocket starter. Binary codecs
are well suited for RSocket payloads, so this codec is added first to
the list of codecs (before the JSON one already supported).

Closes gh-16830
6 years ago
Stephane Nicoll 1c3a91883d Remove reference to spring.datasource.jmx-enabled
This commits moves the single use of that property to the already
existing Tomcat-specific one.

Closes gh-16673
6 years ago
Brian Clozel 20dfeddbb3 Auto-configure RSocketRequester.Builder
This commit auto-configures a prototype `RSocketRequester.Builder` bean
for building requester instances. This builder is pre-configured with
auto-detected `RSocketStrategies` (same as the server side).

Closes gh-16280
6 years ago
Brian Clozel 2e504b4c3c Migrate from NCSARequestLog to CustomRequestLog
Closes gh-16416
6 years ago
Brian Clozel 930186e505 Merge branch '2.1.x' 6 years ago
Marcus Eisele 94a9748ce0 Fix 'spring.resources.cache.period' for WebMvc
Before this change it got overwritten by forwarding an empty
CacheControl to Spring. Spring itself sets CacheSeconds already
correctly in absence (=null) of a CacheControl.

Also:
* Fixes bug in WebMvcAutoConfigurationTests.cachePeriod which
prevented it to assert anything

See gh-16488
Closes gh-16730
6 years ago
Brian Clozel 0b4934d140 Fix DefaultErrorWebExceptionHandler test 6 years ago
Andy Wilkinson 552345fcd1 Disable more @Bean method proxying
Previously, due to a quirk in Spring Framework, it was necessary to use bean method
proxying in @Configuration classes that define one or more FactoryBeans. This quirk has
now been addressed so this commit disables bean method proxying where it is now no longer
needed.

Closes gh-16533
6 years ago
Gary Russell ef39ff8988 Start building against Spring Kafka 2.3.0.M2 snapshots
See gh-16739
See gh-16752
6 years ago
Andy Wilkinson 5514192672 Merge branch '2.1.x'
Closes gh-16809
6 years ago
Andy Wilkinson 96f3a482f0 Polish "Enable minIdle by allowing timeBetweenEviction runs to be configured"
See gh-16703
6 years ago
Gemini Kim 1659d46028 Enable minIdle by allowing timeBetweenEviction runs to be configured
See gh-16703
6 years ago
Andy Wilkinson bf294a762a Polish 6 years ago
Johnny Lim a56867da27 Consistent use of PropertyMapper::asInt
See gh-16738
6 years ago
Johnny Lim 1548fb655c Polish FlywayProperties
See gh-16737
6 years ago
Andy Wilkinson ece87cc4cc Polish "Provide control over how a Cassandra Cluster is created"
See gh-16702
6 years ago
Steffen Folman Qvistgaard 5daf310bf4 Provide control over how a Cassandra Cluster is created
See gh-16702
6 years ago
Madhura Bhave 684a1c7a3c Migrate tests to JUnit5 testcontainer extensions
Closes gh-15456
6 years ago
Madhura Bhave 1db1c8b03c Validate our own tests work with JUnit5 and the vintage engine
Closes gh-14737

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
6 years ago
Brian Clozel 1f897ad923 Fix DefaultErrorWebExceptionHandler test 6 years ago
Johnny Lim 21b05bbafc Polish RSocketServerBootstrap bean name
Closes gh-16700
6 years ago
Johnny Lim cb0e3c793b Polish
Closes gh-16688
6 years ago