Commit Graph

25706 Commits (9f9bafddb2490c470629868fbb62e39180cba48d)
 

Author SHA1 Message Date
Stephane Nicoll e87be17074 Merge branch '2.2.x' 5 years ago
Stephane Nicoll 168326d9e4 Polish
See gh-20576
5 years ago
Stephane Nicoll f239a440dd Merge branch '2.2.x' 5 years ago
dreis2211 0e796479dc Add Java 14 CI
Closes gh-20576
5 years ago
Stephane Nicoll 579a6ac254 Adapt tests for support for Java 14
See gh-20576
5 years ago
Andy Wilkinson f5e1bad900 Polish 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
Brian Clozel b680db6cd8 Add HealthEndpointGroupsRegistry and its Customizer
Prior to this commit, `HealthContributor` would be exposed under the
main `HealthEndpoint` and subgroups, `HealthEndpointGroups`. Groups are
driven by configuration properties and there was no way to contribute
programmatically new groups.

This commit introduces the `HealthEndpointGroupsRegistry` (a mutable
version of `HealthEndpointGroups`) and a
`HealthEndpointGroupsRegistryCustomizer`. This allows configurations to
add/remove groups during Actuator auto-configuration.

Closes gh-20554
5 years ago
Brian Clozel 4b7ed5efef Override CloudPlatform auto-detection with property
This commit adds a new `"spring.main.cloud-platform"` configuration
property that overrides the `CloudPlatform` detection.

This makes it easier to enable paltform-specific features when running
applications locally or when writing integration tests.

Closes gh-20553
5 years ago
Stephane Nicoll 0b7f198b54 Publish Maven plugin API
This commit enables javadoc generator for the Spring Boot Maven plugin.

This also harmonizes the structure of the documentation, with an `/api`
and a `/reference` root directories for the javadoc and the reference
guide respectively.

Closes gh-20127
5 years ago
Stephane Nicoll 58a45c53ac Upgrade to Groovy 2.5.10
Closes gh-20575
5 years ago
Stephane Nicoll 7014cc55aa Merge pull request #19475 from bono007
* pr/19475:
  Polish "Add 'threads' configuration group for embedded containers"
  Add 'threads' configuration group for embedded containers

Closes gh-19475
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
Stephane Nicoll 5a687dfa89 Merge branch '2.2.x' 5 years ago
Stephane Nicoll bece0f1360 Start building against Spring Kafka 2.3.7 snapshots
See gh-20574
5 years ago
Stephane Nicoll 96cffb9dd3 Start building against Spring Data Moore SR6 snapshots
See gh-20573
5 years ago
Stephane Nicoll e940e751c1 Start building against Spring Framework 5.2.5 snapshots
See gh-20571
5 years ago
Stephane Nicoll 3966730e02 Start building against Reactor Dysprosium-SR6 snapshots
See gh-20569
5 years ago
Stephane Nicoll 2e85c4f3c6 Merge pull request #20360 from dreis2211
* pr/20360:
  Add security.protocol to KafkaProperties

Closes gh-20360
5 years ago
dreis2211 7924dd62b0 Add security.protocol to KafkaProperties
See gh-20360
5 years ago
Stephane Nicoll 521143a314 Merge branch '2.2.x'
Closes gh-20568
5 years ago
Stephane Nicoll 68a2be0ad5 Merge branch '2.1.x' into 2.2.x
Closes gh-20567
5 years ago
Stephane Nicoll 07d28dcc02 Merge pull request #20566 from dreis2211
* pr/20566:
  Upgrade CI images to Ubuntu Bionic 20200311

Closes gh-20566
5 years ago
dreis2211 d25286c5d6 Upgrade CI images to Ubuntu Bionic 20200311
See gh-20566
5 years ago
Scott Frederick e607c6842f Polish Gradle layer configuration DSL
This commit modifies the DSL for custom layer configuration in the
Gradle plugin to avoid duplication of terms that could be confusing.

Fixes gh-20563
5 years ago
Stephane Nicoll 06cefabb5b Merge pull request #20561 from dreis2211
* pr/20561:
  Upgrade to Gradle 6.3 RC3

Closes gh-20561
5 years ago
dreis2211 756a43fed8 Upgrade to Gradle 6.3 RC3
See gh-20561
5 years ago
Stephane Nicoll 0f5ca030db Polish "Add Java 14 CI"
See gh-20413
5 years ago
Stephane Nicoll 961611aa04 Merge pull request #20413 from dreis2211
* pr/20413:
  Polish "Add Java 14 CI"
  Add Java 14 CI

Closes gh-20413
5 years ago
Stephane Nicoll 8d3ab1cc7d Polish "Add Java 14 CI"
See gh-20413
5 years ago
dreis2211 f0e57ed688 Add Java 14 CI
See gh-20413
5 years ago
Stephane Nicoll 2e2f839bc8 Upgrade to Gradle 6.3 RC2
Closes gh-20558
5 years ago
Andy Wilkinson 9b817caff3 Revert "Update extract to write files to their original, unlayered location"
This reverts commit 9f3bc78f36.
5 years ago
Andy Wilkinson 0a17e2daf3 Merge branch '2.2.x'
Closes gh-20556
5 years ago
Andy Wilkinson ab3e2675fb Merge pull request #20323 from larsgrefer
* gh-20323:
  Fix recommended task dependency configuration

Closes gh-20323
5 years ago
Lars Grefer c748f36856 Fix recommended task dependency configuration
`compileJava.dependsOn(processResources)` is not enough to ensure the
correct behavior. Using `dependsOn` only affects the execution order
(`processResources` before `compileJava`) but not the up-to-date check
of `compileJava`. After modifying
`META-INF/additional-spring-configuration-metadata.json`, the
`processResouces` task will considered out-of-date and will be
re-executed, but after that `compileJava` will still be considered
up-to-date which causes the changes not to be merged into
`META-INF/spring-configuration-metadata.json`

With this change the up-do-date check of `compileJava` is affected,
too. Therefore, it will correctly re-execute the
configuration-processor when
`META-INF/additional-spring-configuration-metadata.json` was changed.

See gh-20323
5 years ago
Andy Wilkinson 9f3bc78f36 Update extract to write files to their original, unlayered location 5 years ago
Scott Frederick 44f7508825 Fix BuildImageMojo javadoc. 5 years ago
Scott Frederick 08e96427de Add command-line properties for Maven build-image options
This commit adds support for setting the image name and builder
parameters of the Maven spring-boot:build-image goal using command-line
properties as an alternative to plugin configuration in pom.xml. Per
Maven conventions, a value in pom.xml configuration will override a
command-line property when both are provided.

Fixes gh-20520
5 years ago
Stephane Nicoll f470f27666 Merge branch '2.2.x'
Closes gh-20549
5 years ago
Stephane Nicoll 4b82d7d944 Merge pull request #20541 from dreis2211
* pr/20541:
  Use @Configuration(proxyBeanMethods=false) wherever possible

Closes gh-20541
5 years ago
Stephane Nicoll 988d650304 Adapt server not running check
The upgrade to the Couchbase SDK v3 changed how errors are reported
when the cluster is not available. This commit updates the check to
look for the new exception in the hope a more solid check can be found
shortly.
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
Andy Wilkinson 4544785a4f Merge branch '2.2.x'
Closes gh-20544
5 years ago
Andy Wilkinson 566f79b086 Merge branch '2.1.x' into 2.2.x
Closes gh-20543
5 years ago
Andy Wilkinson b51c7386aa Fix detection of application home for paths containing spaces
Fixes gh-20531
5 years ago