Commit Graph

8412 Commits (742f584d60c242470436336a8189a68e946c4c63)

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>
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 4c2ff9c314 Merge branch '2.2.x'
Closes gh-20315
5 years ago
Yoo In Keun ec20246415 Fix typos in documentation
See gh-20313
5 years ago
dreis2211 442733600e Test the Gradle plugin against Gradle 6.2.1
See gh-20310
5 years ago
Andy Wilkinson 2059ff6c39 Upgrade to Reactor Dysprosium-SR5
Closes gh-20200
5 years ago
Andy Wilkinson cb2e3bd076 Upgrade to Reactor Californium-SR16
Closes gh-20196
5 years ago
Madhura Bhave db1d923ad8 Merge branch '2.2.x' 5 years ago
Madhura Bhave 42bb56c1ba Merge branch '2.1.x' into 2.2.x 5 years ago
Madhura Bhave 88ee50601d Update copyright of changed files 5 years ago
Madhura Bhave 65c6f32428 Merge branch '2.2.x'
Closes gh-20307
5 years ago
Madhura Bhave 368a77f355 Merge branch '2.1.x' into 2.2.x
Closes gh-20306
5 years ago
Madhura Bhave 0957168626 Binding to collection of custom objects should not fail with unbound error
Fixes gh-20134
5 years ago
dreis2211 e66758d3d0 Explicitly set java home in CommandLineInvoker
See gh-20242
5 years ago
Brian Clozel e73ee7b3fe Merge branch '2.2.x'
Closes gh-20293
5 years ago
Brian Clozel 11b9862064 Revert "Clear ProducesRequestCondition cache attribute"
Closes gh-20292
5 years ago
Brian Clozel ab72cc8fdb Revert "Add actuator specific ObjectMapper"
See gh-12951
See gh-20291
5 years ago
Stephane Nicoll 3f0a5a5482 Upgrade to Maven Shade Plugin 3.2.2
Closes gh-20288
5 years ago
Stephane Nicoll 4a64426218 Upgrade to Spring Session Bom Corn-SR1
Closes gh-20287
5 years ago
Stephane Nicoll a3d4367ccc Upgrade to Spring Security 5.2.2.RELEASE
Closes gh-20286
5 years ago
Stephane Nicoll 412aee65ea Upgrade to Lombok 1.18.12
Closes gh-20285
5 years ago
Stephane Nicoll fb0d14baa8 Upgrade to Postgresql 42.2.10
Closes gh-20284
5 years ago
Stephane Nicoll 6a3a32460f Upgrade to Neo4j Ogm 3.2.8
Closes gh-20283
5 years ago
Stephane Nicoll 85139c0321 Upgrade to Liquibase 3.8.6
Closes gh-20282
5 years ago
Stephane Nicoll 4b3273440f Upgrade to Jooq 3.12.4
Closes gh-20281
5 years ago
Stephane Nicoll e56a4dfc87 Upgrade to Infinispan 9.4.18.Final
Closes gh-20280
5 years ago
Stephane Nicoll 7b389f04ad Upgrade to Hibernate 5.4.12.Final
Closes gh-20279
5 years ago
Stephane Nicoll a99f7910bc Upgrade to Jetty 9.4.26.v20200117
Closes gh-20278
5 years ago
Stephane Nicoll 402eb87847 Upgrade to Tomcat 9.0.31
Closes gh-20277
5 years ago
Stephane Nicoll 1909bac5c8 Upgrade to Johnzon Jsonb 1.2.3
Closes gh-20276
5 years ago
Stephane Nicoll 3447936823 Upgrade to Httpclient 4.5.11
Closes gh-20275
5 years ago
Stephane Nicoll 15134d92f5 Upgrade to Byte Buddy 1.10.8
Closes gh-20274
5 years ago
Stephane Nicoll 53389ec61b Upgrade to Rsocket 1.0.0-RC6
Closes gh-20273
5 years ago
Stephane Nicoll bcd0a7bbb3 Upgrade to Netty Tcnative 2.0.29.Final
Closes gh-20272
5 years ago
Stephane Nicoll 3c59f08796 Upgrade to Micrometer 1.3.5
Closes gh-20271
5 years ago
Stephane Nicoll 62287739e7 Upgrade to Lettuce 5.2.2.RELEASE
Closes gh-20270
5 years ago
Stephane Nicoll 1858219d1d Upgrade to Jakarta Activation 1.2.2
Closes gh-20269
5 years ago
Stephane Nicoll a7f3b801ae Upgrade to Sendgrid 4.4.5
Closes gh-20268
5 years ago
Stephane Nicoll d684277f29 Upgrade to Hazelcast 3.12.6
Closes gh-20267
5 years ago
Stephane Nicoll e5baa1c55a Upgrade to Appengine Sdk 1.9.78
Closes gh-20266
5 years ago
Stephane Nicoll 26d30f5019 Upgrade to Caffeine 2.8.1
Closes gh-20265
5 years ago
Stephane Nicoll 0b1b05f129 Upgrade to Jackson 2.10.2.20200130
Closes gh-20264
5 years ago
Stephane Nicoll 021575a335 Upgrade to Couchbase Client 2.7.12
Closes gh-20263
5 years ago
Stephane Nicoll fb97f075b9 Upgrade to Maven Shade Plugin 3.2.2
Closes gh-20260
5 years ago
Stephane Nicoll 29d7714a2b Upgrade to Spring Session Bom Bean-SR9
Closes gh-20259
5 years ago
Stephane Nicoll eecd8e1669 Upgrade to Spring Security 5.1.8.RELEASE
Closes gh-20258
5 years ago
Stephane Nicoll 3f538c2b4a Upgrade to Lombok 1.18.12
Closes gh-20257
5 years ago
Stephane Nicoll 32fdc42ce1 Upgrade to Postgresql 42.2.10
Closes gh-20256
5 years ago
Stephane Nicoll 1e5b548501 Upgrade to Infinispan 9.4.18.Final
Closes gh-20255
5 years ago
Stephane Nicoll 7b8d3c284d Upgrade to Jetty 9.4.26.v20200117
Closes gh-20254
5 years ago
Stephane Nicoll ac41bcbb66 Upgrade to Tomcat 9.0.31
Closes gh-20253
5 years ago
Stephane Nicoll 2b033c532b Upgrade to Httpclient 4.5.11
Closes gh-20252
5 years ago
Stephane Nicoll b3b7d80374 Upgrade to Dependency Management Plugin 1.0.9.RELEASE
Closes gh-20251
5 years ago
Stephane Nicoll b5a20492bd Upgrade to Netty Tcnative 2.0.29.Final
Closes gh-20250
5 years ago
Stephane Nicoll cd99b838f7 Upgrade to Hazelcast 3.11.7
Closes gh-20249
5 years ago
Stephane Nicoll 4b9070d9b5 Upgrade to Appengine Sdk 1.9.78
Closes gh-20248
5 years ago
Stephane Nicoll f4a3d7ff3a Upgrade to Couchbase Client 2.7.12
Closes gh-20247
5 years ago
Stephane Nicoll c0c097117a Polish
See gh-20244
5 years ago
Dmytro Nosan 1a8c321a7b Support nested requests in MetricsClientHttpRequestInterceptor
Prior to this commit, requests made by `HttpRequestInterceptor`
instances configured on `RestTemplate` would not be recorded
properly.

This commit ensures that nested requests are recorded separately.

Closes gh-20231
5 years ago
Madhura Bhave 95f8f83833 Remove spring security dependencies from Rsocket starter
Fixes gh-20243
5 years ago
Scott Frederick 23e781033c Merge branch '2.2.x'
Closes gh-20244
5 years ago
Scott Frederick 625b40aa90 Prefer arguments in POM over spring-boot.run.arguments
This commit changes the order of precedence for the `arguments` property
of the AbstractRunMojo so that values specified in the POM override
values provided on the command line using `spring-boot.run.arguments`.
This brings the `arguments` property in line with all other Mojo
parameters.

Fixes gh-20024
5 years ago
Stephane Nicoll e7c265bc3d Start building against Spring Data Neumann M4 snapshots
See gh-20241
5 years ago
Stephane Nicoll a039f6328d Start building against Spring Framework 5.2.4 snapshots
See gh-20240
5 years ago
Stephane Nicoll cc3eac898a Start building against Spring Kafka 2.3.6 snapshots
See gh-20203
5 years ago
Stephane Nicoll effa2a29f2 Start building against Spring AMQP 2.2.5 snapshots
See gh-20106
5 years ago
Stephane Nicoll 942cd85d76 Start building against Spring Integration 5.2.4 snapshots
See gh-20202
5 years ago
Stephane Nicoll 2095295c4c Start building against Spring Data Moore SR5 snapshots
See gh-20201
5 years ago
Stephane Nicoll 34f33e8b0d Start building against Spring HATEOAS 1.0.4 snapshots
See gh-20232
5 years ago
Stephane Nicoll 67d2258e76 Start building against Spring Framework 5.2.4 snapshots
See gh-20199
5 years ago
Stephane Nicoll ef0d881846 Start building against Reactor Dysprosium-SR5 snapshots
See gh-20200
5 years ago
Stephane Nicoll 5750b8d826 Start building against Reactor Californium-SR16 snapshots
See gh-20196
5 years ago
Stephane Nicoll 26c673a1a4 Merge branch '2.2.x' 5 years ago
Stephane Nicoll 592ae85043 Merge branch '2.1.x' into 2.2.x 5 years ago
Stephane Nicoll 6aeff91f50 Polish 5 years ago
Madhura Bhave c5bce2b99d Fix gradle plugin validation error 5 years ago
Madhura Bhave 15cd590f7f Allow users to opt out of including the layer tools in a layered jar
For Maven, the layer configuration is now an additional configuration
option instead of a layout type.

Closes gh-19866
5 years ago
Andy Wilkinson 29bc5d848e Start building against Spring Data Lovelace-SR16 snapshots
See gh-20198
5 years ago
Andy Wilkinson 5ae66d4c08 Start building against Spring Framework 5.1.14 snapshots
See gh-20197
5 years ago
Scott Frederick 6017c1ccac Update MongoDB auto-configuration documentation. 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
dreis2211 d55bc5f850 Test the Gradle Plugin against Gradle 6.2
See gh-20222
5 years ago
Mustafa Ulu 2760426db0 Polish log4j2 configuration
See gh-20225
5 years ago
Madhura Bhave aa09058d8c Remove implicit layers support from the layer tools
Closes gh-20187
5 years ago
Stephane Nicoll 363edfa00c Merge branch '2.2.x'
Closes gh-20221
5 years ago
hbellahc d890f1f6d8 Document missing reference to DataSourceHealthIndicator
See gh-20216
5 years ago
Stephane Nicoll 4ec30e1145 Add support for SimpleDriverDataSource
This commit makes sure that DataSourceBuilder can configure
SimpleDriverDataSource by adding an alias for the driver's class name.

Closes gh-20220

Co-authored-by: Dmytro Nosan <dimanosan@gmail.com>
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
dreis2211 866c441d70 Upgrade to Gradle 6.2
See gh-20213
5 years ago
Stephane Nicoll 16111f126e Use query-less datasource validation by default
This commit changes DataSourceHealthIndicator to validate the connection
rather than issuing a query to the database. If a custom validation
query is specified, it uses that as before.

Closes gh-17582
5 years ago
dreis2211 4f824bf9ad Fix duplicate words
See gh-20210
5 years ago
dreis2211 76d2bc27eb Explicitly set java home in Maven Plugin integration tests
See gh-20193
5 years ago
Brian Clozel e59d3fbb86 Clear ProducesRequestCondition cache attribute
As of spring-projects/spring-framework#22644, Spring Framework caches
the "produces" condition when matching for endpoints in the
`HandlerMapping` infrastructure. This has been improved in
spring-projects/spring-framework#23091 to prevent side-effects in other
implementations.

Prior to this commit, the Spring Boot actuator infrastructure for
`EndpointHandlerMapping` would not clear the cached attribute,
presenting the same issue as Spring Framework's infrastructure. This
means that a custom arrangement with custom `HandlerMapping` or
`ContentTypeResolver` would not work properly and reuse the cached
produced conditions for other, unintented, parts of the handler mapping
process.

This commit clears the cached data and ensures that other handler
mapping implementations are free of that side-effect.

Fixes gh-20150
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
dreis2211 a9dabe13bb Remove redundant useJUnitPlatform declarations
See gh-20206
5 years ago
Stephane Nicoll 03bee83991 Update copyright date
See gh-20192
5 years ago
zhangt2333 e2d87a89d0 Polish
See gh-20192
5 years ago
Andy Wilkinson bf8ed44453 Upgrade to Spring AMQP 2.2.4.RELEASE
Closes gh-20106
5 years ago
Andy Wilkinson e065ee7be2 Merge branch '2.1.x' into 2.2.x
Closes gh-20183
5 years ago
Andy Wilkinson b9c2d775a9 Merge branch '2.2.x'
Closes gh-20185
5 years ago
Stephane Nicoll ddeac66ca2 Merge branch '2.2.x'
Closes gh-20186
5 years ago
Stephane Nicoll 40d1727cc5 Polish "Document sanitized keys and uri sanitization behavior"
See gh-20169
5 years ago
Juzer Ali 30f7f9c9c4 Document sanitized keys and uri sanitization behavior
See gh-20169
5 years ago
Stephane Nicoll b56c4f1a4d Polish "Add support for configuring Jetty's backing queue"
See gh-19494
5 years ago
Andy Wilkinson d61b035640 Merge branch '2.1.x' into 2.2.x
Closes gh-20183
5 years ago
cbono 852734b129 Add support for configuring Jetty's backing queue
See gh-19494
5 years ago
Andy Wilkinson c8907d46b4 Fix up-to-date checking of build info properties
Closes gh-20135
5 years ago
Stephane Nicoll a6fdbdcd80 Merge branch '2.2.x'
Closes gh-20178
5 years ago
Dave Syer dcaaf9785f Remove duplicate auto-configuration class
See gh-20168
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 18576373d0 Upgrade to Spring Session Dragonfruit-M2
Closes gh-20045
5 years ago
Andy Wilkinson 09fa8255cd Upgrade to Tomcat 9.0.31
Closes gh-20167
5 years ago
Stephane Nicoll db9f2734fe Upgrade to Micrometer 1.3.5
Closes gh-20166
5 years ago
Stephane Nicoll 4d51a16b11 Upgrade to Liquibase 3.8.6
Closes gh-20165
5 years ago
Stephane Nicoll 8212ee49b3 Upgrade to Lettuce 5.2.2.RELEASE
Closes gh-20164
5 years ago
Stephane Nicoll be58d1a310 Upgrade to Infinispan 10.1.2.Final
Closes gh-20163
5 years ago
Stephane Nicoll 5f826cdbd2 Upgrade to Hibernate 5.4.11.Final
Closes gh-20162
5 years ago
Stephane Nicoll ca4d5b1333 Upgrade to Flyway 6.2.3
Closes gh-20161
5 years ago
Stephane Nicoll faaf9a7e0c Upgrade to SendGrid 4.4.4
Closes gh-20092
5 years ago
Andy Wilkinson 68f59a0d40 Move dependency management for JNA into spring-boot-parent
Previously, dependency management for JNA was provided by
spring-boot-dependencies so it affected users' applications. It was
original added for Elasticsearch but is no longer needed for that
purpose. We use JNA in spring-boot-buildpack-platform which is used
by our Gradle and Maven plugins and should not affect an application's
use of JNA.

This commit moves management of JNA from spring-boot-dependencies into
spring-boot-parent. This means that users' applications will now be
free to use whatever version of JNA meets their needs while still
controlling the version used for image building via Gradle or Maven.

Closes gh-20156
5 years ago
Andy Wilkinson 903a4a48e8 Fix configuration property references in the reference docs
Previously, the configprop macro was being used in the source but the
extension that implements the macro was not available to Asciidoctor.
This led to the references not being checked at build time and the
macro being left as-is in the rendered documentation.

This commit updates the dependencies that are available to Asciidoctor
to include the extension and the projects which define the
configuration properties referenced in the documentation.

Closes gh-20149
5 years ago
Andy Wilkinson 8577a39a96 Upgrade to Spring Asciidoctor Extensions 0.4.1.RELEASE
Closes gh-20158
5 years ago
dreis2211 23bf948101 Upgrade to Asciidoctor Gradle JVM 3.0.0
See gh-19953
5 years ago
Stephane Nicoll db1c9f4058 Remove plugin management for infinispan-protocol-parser-generator
Closes gh-20155
5 years ago
Stephane Nicoll cd11b74db7 Remove usage of Infinispan BOM
Closes gh-20154
5 years ago
Russell Scheerer d61029a37a Fix Spring Boot version reference in spring-boot-starter-parent
See gh-20143
5 years ago
Andy Wilkinson 7970bf2437 Upgrade to Spring Integration 5.3.0.M2
Closes gh-20104
5 years ago
Andy Wilkinson 9860f9705c Upgrade to Spring AMQP 2.2.4.RELEASE
Closes gh-20105
5 years ago
Andy Wilkinson f22aeda0ce Upgrade to Spring Kafka 2.4.2.RELEASE
Closes gh-20107
5 years ago
Scott Frederick e294d26458 Set ephemeral builder container creation to a fixed date
This commit fixes the `Created` date and time of the ephemeral builder
container image at the Windows epoch plus one second
(1980-01-01T00:00:01Z). This date matches the created date of the builder
image and influences the created date of the resulting image. Using
a fixed date for images ensures that the digest is consistent for all
images with the same version.

Fixes gh-20126
5 years ago
Scott Frederick 191dce3f5e Set Spring Boot version in ephemeral builder
This commit adds a `createdBy` structure to the metadata of the ephemeral
builder container image that identifies Spring Boot as the creator of the
image, along with the Spring Boot version.

See gh-20126
5 years ago
Brian Clozel 97af0b2f3a Add actuator specific ObjectMapper
Prior to this commit, Actuator endpoints would use the application
ObjectMapper instance for serializing payloads as JSON. This was
problematic in several cases:

* application-specific configuration would change the actuator endpoint
output.
* choosing a different JSON mapper implementation in the application
would break completely some endpoints.

Spring Boot Actuator already has a hard dependency on Jackson, and this
commit uses that fact to configure a shared `ObjectMapper` instance that
will be used by the Actuator infrastructure consistently, without
polluting the application context.

This `ObjectMapper` is used in Actuator for:

* JMX endpoints
* Spring MVC endpoints with an HTTP message converter
* Spring WebFlux endpoints with an `Encoder`
* Jersey endpoints with a `ContextResolver<ObjectMapper>`

For all web endpoints, this configuration is limited to the
actuator-specific media types such as
`"application/vnd.spring-boot.actuator.v3+json"`.

Fixes gh-12951
5 years ago
Andy Wilkinson 420af17570 Merge branch '2.2.x'
Closes gh-20148
5 years ago
dreis2211 92b4ba6367 Fix structuring your code link in multi-page HTML documentation
Closes gh-19953
5 years ago
Andy Wilkinson 2f16898c5f Upgrade to Spring Data Neumann-M3
Closes gh-20103
5 years ago
Andy Wilkinson 5fed25bb43 Upgrade to Spring HATEOAS 1.1.0.M2
Closes gh-20142
5 years ago
dreis2211 450ef36c72 Exclude jcl-over-slf4j also on Reactive Cassandra starter
See gh-20141
5 years ago
Stephane Nicoll d19920ae39 Upgrade to Cassandra Driver 4.4.0
Closes gh-20064
5 years ago
Madhura Bhave fe325c06c2 Merge branch '2.2.x' 5 years ago
Madhura Bhave 4eb71fc424 Merge branch '2.1.x' into 2.2.x 5 years ago
Madhura Bhave 97ac6c9de7 Polish 5 years ago
Madhura Bhave 8d9b1d2988 Merge branch '2.2.x'
Closes gh-20133
5 years ago
Madhura Bhave 98a657fedb Merge branch '2.1.x' into 2.2.x
Closes gh-20132
5 years ago
Madhura Bhave ac91f14f05 Polish "Verify ssl key alias on server startup"
See gh-19202
5 years ago