Commit Graph

2015 Commits (bb9e37e11968420fe7a376f84e303dacf3cd7117)

Author SHA1 Message Date
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