Commit Graph

2183 Commits (c963720aeea686dace7b7fced2091c965f70880e)

Author SHA1 Message Date
Phillip Webb ad1248e4ec Replace "folder" with "directory"
Consistently use the term "directory" instead of "folder"

Closes gh-21218
5 years ago
Brian Clozel dac62476a0 Merge branch '2.2.x'
Closes gh-21208
5 years ago
Brian Clozel a63ab468a3 Upgrade to RSocket 1.0.0-RC7
This commit upgrades to RSocket 1.0.0-RC7.
This new RC brings API changes we have to adapt to. As of this commit,
we're introducing a new `RSocketServerCustomizer` which replaces the now
deprecated `ServerRSocketFactoryProcessor`.

Closes gh-21046
5 years ago
Brian Clozel b337f67f93 Add ReactorNettyHttpClientMapper
This new customizer-like interface make it possible to configure the
Reactor Netty `HttpClient` that is going to be used by the
`WebClient.Builder` provided by Spring Boot.

Closes gh-21135
5 years ago
dreis2211 5eb5bf0a2d Polish
See gh-21009
5 years ago
Stephane Nicoll 85e9f713b0 Update copyright year of changed files
See gh-21007
5 years ago
Johnny Lim 29717423a3 Remove this keyword on member method invocations
See gh-21007
5 years ago
Andy Wilkinson d5b944140a Attempt to stabilise CouchbaseAutoConfigurationIntegrationTests
Starting the CouchbaseContainer fails intermittently when creation
of the primary index for the bucket fails with a read timeout. The
test doesn't require a primary index for the bucket so this commit
disables it creation in the hope that it will help to stabilise the
test.
5 years ago
Andy Wilkinson dc75ca3942 Avoid capturing TCCL when creating DefaultResourceLoaders
Previously, DefaultResourceLoader instances were created using the
default constructor. This causes the resource loader to capture the
TCCL that was in place at that time. This can lead to a class loader
leak if the resource loader is referenced directly or indirectly from
a static field of a class loaded by a different class loader.

This commit updates the creation of DefaultResourceLoader instances
in main code so that the resource load will use the class loader of
the creating class. In almost all cases this will be the same class
loader as was the thread context class loader that was being captured
so the change in behavior is minimal. Crucially, it will still address
the situation where the TCCL was different.

Note the DevTools' ApplicationContextResourceLoader has been updated
to explicitly use the TCCL. This ensures that it uses the restart
class loader which is required for DevTools to function correctly.

Fixes gh-20900
5 years ago
Andy Wilkinson d53be18582 Deprecate support for Bitronix
Closes gh-20823
5 years ago
Stephane Nicoll ddcd1bc7bb Remove metadata for configuration keys that were removed in 2.0
Closes gh-19706
5 years ago
Stephane Nicoll 623fbcbf8c Polish 5 years ago
Stephane Nicoll 1019dbbc47 Merge branch '2.2.x'
Closes gh-21100
5 years ago
Stephane Nicoll 8ac3ab5551 Add missing metadata for removed configuration keys
Closes gh-20846
5 years ago
Stephane Nicoll 6c02daf2bc Merge branch '2.2.x'
Closes gh-21098
5 years ago
Stephane Nicoll 311952730e Merge branch '2.1.x' into 2.2.x
Closes gh-21097
5 years ago
Stephane Nicoll 291165f060 Order additional metadata according to lexicographic order
Closes gh-21095
5 years ago
Phillip Webb 56711d678a Merge branch '2.2.x'
Closes gh-21083
5 years ago
Phillip Webb 102729b5e1 Merge branch '2.1.x' into 2.2.x
Closes gh-21082
5 years ago
Phillip Webb b3d33754a5 Remove outdated FIXMEs from tests
Closes gh-19782
5 years ago
Phillip Webb bf41da5322 Update copyright year of changed files 5 years ago
Phillip Webb e83c3b87c0 Merge branch '2.2.x'
Closes gh-21071
5 years ago
Phillip Webb 7d0b14fe1c Merge branch '2.1.x' into 2.2.x
Closes gh-21070
5 years ago
Phillip Webb 6011470ba6 Auto-configure cors on WelcomePageHandlerMapping
Update `WebMvcAutoConfiguration` to automatically apply cors
configuration to the `WelcomePageHandlerMapping`.

Fixes gh-21048
5 years ago
Stephane Nicoll e26f3e2a65 Review Cassandra's timeout options
This commit reviews the current timeout options. It creates a connection
and request sub-namespace to separate concerns a bit more.

Closes gh-19673
5 years ago
Brian Clozel f103966743 Polish
See gh-20994
5 years ago
Vedran Pavic f701d97b92 Improve Elasticsearch RestClient customization capabilities
At present, RestClientBuilderCustomizer allows general customization of RestClientBuilder.
This is troublesome for users that want to customize `HttpAsyncClientBuilder` and
`RequestConfig.Builder` since those are set on the `RestClientBuilder`. By customizing
those two builders user lose out on Spring Boot's support for binding username, password,
connection-timeout and read-timeout properties from `"spring.elasticsearch.rest"` namespace.

This commit enhances the `RestClientBuilderCustomizer` with support for customizing
`HttpAsyncClientBuilder` and `RequestConfig.Builder` by providing additional `customize`
methods that accept the aforementioned builders. Both new methods are optional as they have
no-op default implementations.

See gh-20994
5 years ago
Andy Wilkinson 3605235c67 Merge branch '2.2.x'
Closes gh-21041
5 years ago
Andy Wilkinson 439d9beecb Test that gridFsDatabase is honored by auto-configured GridFsTemplate
Closes gh-21039
5 years ago
Stephane Nicoll 415dcd899d Configure Cassandra's request throttling
Closes gh-19674
5 years ago
Stephane Nicoll 8787e749c4 Add IsolationLevel regression test with Kafka 2.4
This commit makes sure that our copy of the IsolationLevel enum is
consistent with what Kafka 2.4 provides

Closes gh-20822
5 years ago
Stephane Nicoll 2c72350cd8 Upgrade to Kafka 2.5.0
Closes gh-21032
5 years ago
Stephane Nicoll 6a8aaa7b99 Merge branch '2.2.x'
Closes gh-21017
5 years ago
Stephane Nicoll 90c0378a7d Apply configuration properties deprecation consistently
This commit makes sure that both the getter and the setter of a
deprecated configuration properties is flagged with `@Deprecated`.

Closes gh-20812
5 years ago
Stephane Nicoll 5afe4743cb Remove deprecated configuration properties
This commit removes the following deprecated properties:

* `server.connection-timeout`
* `server.use-forward-headers`
* `server.jetty.max-http-post-size`
* `server.tomcat.max-http-post-size`

Closes gh-20991
5 years ago
Phillip Webb e3b8478621 Polish 5 years ago
Phillip Webb dc56608651 Merge branch '2.2.x'
Closes gh-21004
5 years ago
Phillip Webb 1a8aa72afd Merge branch '2.1.x' into 2.2.x
Closes gh-21003
5 years ago
Phillip Webb 822d9f6a31 Allow empty URIs to create embedded datasource
Refine `DataSourceAutoConfiguration` conditions so that an empty
`spring.datasource.url` property can be used to enable the embedded
source.

Fixed gh-20996
5 years ago
K Zoli 0d532042cb Use RequestDispatcher.ERROR_STATUS_CODE constant
See gh-20923
5 years ago
Scott Frederick 1caca6e3d0 Deprecate unused ErrorController interface method
This commit marks as deprecated an interface method that is no longer
used, and changes all internal implementations to return `null` to
make the fact that the return value is not used more obvious.

Fixes gh-19844
5 years ago
Scott Frederick 70d4994502 Disable exception details on default error views
Prior to this commit, default error responses included the message
from a handled exception. When the exception was a BindException, the
error responses could also include an errors attribute containing the
details of the binding failure. These details could leak information
about the application.

This commit removes the exception message and binding errors detail
from error responses by default, and introduces a
`server.error.include-details` property that can be used to cause
these details to be included in the response.

Fixes gh-20505
5 years ago
Stephane Nicoll 71ecadeaee Polish "Optimize AutoConfigurationImportSelector.filter()"
See gh-20928
5 years ago
dreis2211 2158fadb35 Optimize AutoConfigurationImportSelector.filter()
See gh-20928
5 years ago
Stephane Nicoll 04544f9842 Polish 5 years ago
dreis2211 5b9d8bfc17 Upgrade to Testcontainers 1.14.0
See gh-20936
5 years ago
Stephane Nicoll 17e5b08cba Polish 5 years ago
Stephane Nicoll 8fa6ec36f4 Remove @ConditionalOnMissingBean check on deprecated class
Closes gh-20968
5 years ago
Phillip Webb bb79c847b2 Allow custom availability states
Create a general purpose `AvailabilityState` interface and refactor
the existing `LivenessState` and `ReadinessState` to use it. A single
`AvailabilityChangeEvent` is now used to carry all availability state
updates.

This commit also renames `ApplicationAvailabilityProvider` to
`ApplicationAvailabilityBean` and extracts an `ApplicationAvailability`
interface that other beans can inject. The helps to hide the event
listener method, which is really internal.

Finally the state enums have been renamed as follows:

 - `LivenessState.LIVE` -> `LivenessState.CORRECT`
 - `ReadinessState.READY` -> `ReadinessState.ACCEPTING_TRAFFIC`
 - `ReadinessState.UNREADY` -> `ReadinessState.REFUSING_TRAFFIC`

See gh-20962
5 years ago
Johnny Lim cb320288a4 Polish
See gh-20931
5 years ago
Stephane Nicoll 73ca703007 Merge branch '2.2.x'
Closes gh-20919
5 years ago
Stephane Nicoll 60f726a080 Polish 5 years ago
Stephane Nicoll 3cdb5a690a Polish "Align Kafka's missingTopicsFatal default value"
See gh-20917
5 years ago
dhimathu a12eace2a8 Align Kafka's missingTopicsFatal default value
See gh-20917
5 years ago
Vedran Pavic fec386b574 Harmonize naming of Elasticsearch auto-configuration classes 5 years ago
Brian Clozel 0611b6d3eb Fix startup failure when WebFlux auto-config is skipped
Prior to this commit, the `HttpHandlerAutoConfiguration` would rely on
the `WebFluxProperties` bean being present - this is most of the time
true when the appplication is using the WebFlux auto-configuration.

If the application is overriding the WebFlux auto-configuration and
providing its own setup, the properties bean is not present and we
should skip its usage.

Fixes gh-20891
5 years ago
Madhura Bhave 1342e4970a Provide a condition for detecting war deployments
Closes gh-19421
5 years ago
Phillip Webb ed2d90248c Rename `singleSignOn` property to `singlesignon`
Rename the SAML `singleSignOn` nested property to `singleSignOn` so
that we don't get problems when using uppercase environment variable
names.

See gh-20584
5 years ago
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