1950 Commits

Author SHA1 Message Date
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>
2020-02-25 09:14:08 -05:00
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>
2020-02-25 09:12:28 -05:00
Stephane Nicoll
a039f6328d Start building against Spring Framework 5.2.4 snapshots
See gh-20240
2020-02-20 14:29:15 +01:00
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
2020-02-19 10:15:40 -06:00
Stephane Nicoll
d65e06081f Update copyright year of changed files
See gh-20226
2020-02-19 09:35:28 +01:00
Johnny Lim
8be8a8421d Polish
See gh-20226
2020-02-19 09:34:46 +01:00
Stephane Nicoll
287d577aea Merge branch '2.2.x'
Closes gh-20218
2020-02-18 16:59:52 +01:00
Stephane Nicoll
1d60184075 Merge branch '2.1.x' into 2.2.x
Closes gh-20217
2020-02-18 16:58:46 +01:00
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
2020-02-18 16:27:31 +01:00
Stephane Nicoll
4bcf4245d1 Polish "Add support for configuring Liquibase tag property"
See gh-19316
2020-02-17 09:53:59 +01:00
Eddú Meléndez
407e237f10 Add support for configuring Liquibase tag property
See gh-19316
2020-02-17 09:46:42 +01:00
Stephane Nicoll
b56c4f1a4d Polish "Add support for configuring Jetty's backing queue"
See gh-19494
2020-02-14 14:54:28 +01:00
cbono
852734b129 Add support for configuring Jetty's backing queue
See gh-19494
2020-02-14 14:01:06 +01:00
Stephane Nicoll
2ede9e63b9 Merge branch '2.1.x' into 2.2.x
Closes gh-20117
2020-02-14 10:20:33 +01:00
Stephane Nicoll
32c1dd45a9 Revert "Merge pull request #19926 from xak2000"
Closes gh-19926
2020-02-14 10:18:02 +01:00
Andy Wilkinson
09fa8255cd Upgrade to Tomcat 9.0.31
Closes gh-20167
2020-02-13 20:17:18 +00:00
Stephane Nicoll
faaf9a7e0c Upgrade to SendGrid 4.4.4
Closes gh-20092
2020-02-13 13:49:56 +01:00
dreis2211
23bf948101 Upgrade to Asciidoctor Gradle JVM 3.0.0
See gh-19953
2020-02-13 09:42:17 +00:00
Stephane Nicoll
00b10e655e Merge branch '2.2.x'
Closes gh-20125
2020-02-11 16:27:33 +01:00
Stephane Nicoll
8f06d819e4 Harmonize JMS connection factory bean names
This commit restores consistent naming for the auto-configured
connection factory.

Closes gh-19565
2020-02-11 16:23:56 +01:00
Stephane Nicoll
466c1ba251 Merge branch '2.2.x'
Closes gh-20118
2020-02-11 10:31:03 +01:00
Stephane Nicoll
a425cc1b46 Merge branch '2.1.x' into 2.2.x
Closes gh-20117
2020-02-11 10:30:19 +01:00
Ruslan Stelmachenko
5f7e1ac4f2 Remove unnecessary leading slash in changelog locations
See gh-19926
2020-02-11 10:14:49 +01:00
Stephane Nicoll
32bd845a7d Merge branch '2.2.x'
Closes gh-20116
2020-02-11 09:31:03 +01:00
Stephane Nicoll
66809c6c1e Polish "Fix condition source in OnBeanCondition"
See gh-19948
2020-02-11 09:27:59 +01:00
Jorge Cordoba
547fc30ead Fix condition source in OnBeanCondition
See gh-19948
2020-02-11 09:10:07 +01:00
dreis2211
aa0360e1ba Fix some deprecation warnings
See gh-20108
2020-02-10 15:28:30 +01:00
Stephane Nicoll
ddcf5966bb Disable Spring Data Neo4j's open session in view by default
Closes gh-20012
2020-02-10 12:28:25 +01:00
Stephane Nicoll
77bdf992ec Polish "Create HazelCastClient if necessary"
See gh-20109
2020-02-10 11:41:10 +01:00
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
2020-02-10 11:39:55 +01:00
Stephane Nicoll
aa56a6f647 Add missing mockito dependency
Closes gh-20097
2020-02-07 16:48:44 +01:00
Stephane Nicoll
b5e23e7405 Update copyright year of changed files
See gh-20020
2020-02-03 17:39:40 +01:00
Johnny Lim
b67ece48e4 Polish
See gh-20020
2020-02-03 17:37:01 +01:00
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
2020-02-03 16:06:30 +01:00
Stephane Nicoll
c4daff7225 Polish "Upgrade to MongoDB Java Driver 4.0 beta1"
See gh-19960
2020-02-03 14:12:46 +01:00
Christoph Strobl
d2d6dbdc00 Upgrade to MongoDB Java Driver 4.0 beta1
See gh-19960
2020-02-03 10:59:30 +01:00
Andy Wilkinson
886e7ba38c Merge branch '2.2.x'
Closes gh-19989
2020-01-30 15:10:35 +00:00
Andy Wilkinson
a37c170376 Try to make CouchbaseAutoConfigurationIntegrationTests less flakey
Closes gh-19932
2020-01-30 15:10:13 +00:00
dreis2211
fac6f08ca3 Use new AssertJ duration assertions
See gh-19985
2020-01-30 08:14:49 +01:00
Stephane Nicoll
b6c5c3a113 Polish
See gh-19802
2020-01-28 18:22:28 +01:00
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
2020-01-28 15:57:28 +01:00
Stephane Nicoll
0516520b7e Polish "Fix scope of CqlSessionBuilder bean"
See gh-19899
2020-01-28 14:12:31 +01:00
Dmytro Nosan
c8105413b9 Fix scope of CqlSessionBuilder bean
See gh-19899
2020-01-28 13:49:20 +01:00
Stephane Nicoll
83b38599b1 Apply consistent timeout for Cassandra integration tests
Closes gh-19802
2020-01-28 10:46:47 +01:00
Madhura Bhave
84ea3d359b Increase timeout for Cassandra tests
Closes gh-19802
2020-01-27 16:37:50 -08:00
Stephane Nicoll
ed14173865 Polish "Upgrade to Flyway 6.2.0"
See gh-19894
2020-01-27 15:20:08 +01:00
Kedar Joshi
0ae075efd5 Upgrade to Flyway 6.2.0
See gh-19894
2020-01-27 14:56:04 +01:00
Stephane Nicoll
f0e93f0e1d Migrate Couchbase tests to ApplicationContextRunner 2020-01-27 13:52:49 +01:00
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.
2020-01-27 13:52:49 +01:00
Stephane Nicoll
af4fdf0d6d Polish "Add support for Spring Data Couchbase custom type key"
See gh-19789
2020-01-27 11:09:41 +01:00