spring-boot/buildSrc
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
..
src Add auto-configuration for R2DBC's ConnectionFactory 2020-02-25 09:12:28 -05:00
build.gradle Upgrade to Asciidoctor Gradle JVM 3.0.0 2020-02-13 09:42:17 +00:00
gradle.properties Merge branch '2.2.x' 2020-02-03 10:47:02 +01:00
settings.gradle Adopt Gradle Enterprise Conventions Plugin 2020-02-04 11:24:40 +00:00