Commit Graph

1617 Commits (613eab764f9b7ad7e9be357386e4fe6cff6d52dd)

Author SHA1 Message Date
Stephane Nicoll 888a81beba Migrate Kafka metrics to KafkaClientMetrics
Closes gh-20838
5 years ago
Scott Frederick bb568c5bff Consolidate Maven plugin documentation in plugin reference
This commit moves Maven plugin content from several sections in the
main Spring Boot reference documentation to the plugin-specific
documentation.

Fixes gh-19165
5 years ago
Stephane Nicoll b7ac83a830 Fix typo 5 years ago
Stephane Nicoll 1df8b5886c Add reference to r2dbc database initialization section
Closes gh-20524
5 years ago
Stephane Nicoll f4e6d7c1cf Fix links to Maven Plugin's documentation in reference guide
Closes gh-20818
5 years ago
Phillip Webb 12bc890e75 Update Maven and Gradle layer customization docs
Update the Maven and Gradle documentation following the refined
layer customization changes.

See gh-20526
5 years ago
Madhura Bhave 0e1394ef30 Update reference documentation for layer changes
Update the reference documentation following the jar format changes.

See gh-20813
5 years ago
Andy Wilkinson 84e16d55ea Raise the minimum supported version of Gradle 6 to 6.3
Closes gh-20532
5 years ago
Andy Wilkinson 6d7c3da1cf Polish "Make it clear to which type the DataSource properties are bound"
See gh-20727
5 years ago
Param 004ea51b05 Make it clear to which type the DataSource properties are bound
See gh-20727
5 years ago
Stephane Nicoll 960ab159e4 Document how to initialize a database with R2DBC
This commit adds a section to the reference guide on how to initialize
a database using R2DBC. 2 smoke tests are also added to validate this
behaviour with Flyway and Liquibase.

Closes gh-20742
5 years ago
Stephane Nicoll 722d37468b Rationalize RabbitProperties
Closes gh-18830
5 years ago
Stephane Nicoll 49ab5de91c Polish
See gh-20704
5 years ago
Stephane Nicoll 8154e672dd Polish
See gh-20704
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
Stephane Nicoll 443abd414b Merge branch '2.2.x'
Closes gh-20699
5 years ago
Stephane Nicoll 5d56e24da2 Document that Java 14 is a supported version
Closes gh-20689
5 years ago
Stephane Nicoll dfa3939f56 Merge branch '2.2.x' 5 years ago
Stephane Nicoll a234dff573 Remove check for deprecated configuration properties
See gh-20528
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
Dave Syer 5022ec500a Extra detail for Kubernetes probes
Provides a few more concrete details about how probes and Kubernetes
behave, so users can make more informed decisions.

See gh-19593
Closes gh-20660
5 years ago
dreis2211 f95e9543dc Fix typos in packaging docs
See gh-20630
5 years ago
Phillip Webb 0717de723f Polish 5 years ago
Brian Clozel 4be64e8f9c Add "management.health.probes.enabled" config property
Prior to this commit, we were relying on the
`"spring.main.cloud-platform"` property for overriding cloud platform
detection and enabling liveness and readiness probes. Changes made in
gh-20553 have now been reverted.

This commit adds the `"management.health.probes.enabled"` configuration
property. The auto-configuration now enables the HTTP Probes and
`HealthIndicator` if this property is enabled, or if the Kubernetes
cloud platform is detected.

This property is `false` by default for now, since enabling this for all
Spring Boot applications would be a breaking change. In this case, the
global `"/actuator/health"` endpoint could report `OUT_OF_SERVICE`
during startup time because the application now reports the readiness as
well.

See gh-19593
5 years ago
Brian Clozel 3cc0ab1583 Polish reference docs on Kubernetes Probes
See gh-19593
5 years ago
Stephane Nicoll 8c9711ab9a Merge branch '2.2.x'
Closes gh-20622
5 years ago
Stephane Nicoll bf15276af1 Fix import in constructor binding example
Closes gh-20378
5 years ago
Stephane Nicoll 34b71561d3 Merge branch '2.2.x'
Closes gh-20619
5 years ago
Stephane Nicoll 7be3db2d4d Merge branch '2.1.x' into 2.2.x
Closes gh-20618
5 years ago
Stephane Nicoll bcce6f9f07 Document that Jackson is a required dependency of the Actuator
Closes gh-19564
5 years ago
Johnny Lim cc18b91723 Fix "Building Docker Images" section level
See gh-20608
5 years ago
Brian Clozel 6b9f2cac17 Fix section title levels in reference docs 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
Brian Clozel b30e5a60c5 Polish
See gh-19593
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
Andy Wilkinson 0a17e2daf3 Merge branch '2.2.x'
Closes gh-20556
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
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 0315724126 Cache endpoint responses on a per-principal basis
Previously, any HTTP request to an endpoint that included a principal
would bypass the cache. This prevented authenticated requests from
making use of the cache and its configurable time-to-live.

This commit updates the caching operation invoker to include the
principal, if any, in its cache key. As a result, requests that
include a principal will make use of the cache, potentially returning
the result of a previous invocation of the same endpoint by the same
principal.

Closes gh-19538
5 years ago
Andy Wilkinson ef9960c69f Allow additional tags to be contributed to WebMvc and WebFlux defaults
Closes gh-20175
5 years ago
Johnny Lim 8526e66939 Polish
See gh-20498
5 years ago
Andy Wilkinson 4d371f0d88 Merge branch '2.2.x'
Closes gh-20491
5 years ago
Florian Dreier 76451d47b7 Update versiion of git-properties plugin shown in the docs
See gh-20436
5 years ago
Andy Wilkinson 308e1d3675 Add support for gracefully shutting down the web server
This commit adds support for gracefully shutting down the embedded
web server. When a grace period is configured
(server.shutdown.grace-period), upon shutdown, the web server will no
longer permit new requests and will wait for up to the grace period
for active requests to complete.

Closes gh-4657
5 years ago
Artem Bilan 3967e76b9b Auto-Configure RSocket support for Spring Integration
This commit adds a new auto-configuration for RSocket support in Spring
Integration.

Given an application with `spring-messaging`, `spring-integration-rsocket`
and RSocket dependencies, developers are now able to leverage Spring
Integration features with RSocket.

It is now possible to configure an RSocket server with
`"spring.rsocket.server.*"` properties and let it use
`IntegrationRSocketEndpoint` or `RSocketOutboundGateway` components to
handle incoming RSocket messages. This infrastructure can handle Spring
Integration RSocket channel adapters and `@MessageMapping` handlers
(given `"spring.integration.rsocket.server.message-mapping-enabled"`is
configured.

If the `"spring.integration.rsocket.client.host"` and
`"spring.integration.rsocket.client.port"` (for TCP protocol), or
`"spring.integration.rsocket.client.uri"`  (for WebSocket) is configured
then a `ClientRSocketConnector` will be configured accordingly.

Closes gh-18834

Co-authored-by: Brian Clozel <bclozel@pivotal.io>
5 years ago
Stephane Nicoll ea66940be1 Document R2DBC support
Closes 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
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
Scott Frederick 6017c1ccac Update MongoDB auto-configuration documentation. 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 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
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 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
Stephane Nicoll b21a41cde1 Merge branch '2.2.x'
Closes gh-20124
5 years ago
Stephane Nicoll d1f4a1821c Merge branch '2.1.x' into 2.2.x
Closes gh-20123
5 years ago
Stephane Nicoll b0aba9ed67 Document how to register a blocking health contributor with reactive
Closes gh-19707
5 years ago
Johnny Lim 6818279751 Fix typo
See gh-20049
5 years ago
Madhura Bhave 9382cd4db1 Polish wildcard location documentation 5 years ago
Madhura Bhave 3f9d0058ad Document new Docker-related features
Closes gh-19868
5 years ago
Madhura Bhave e64a145ef0 Add support for wildcard locations for properties and YAML files
Closes gh-19909
5 years ago
Stephane Nicoll c4daff7225 Polish "Upgrade to MongoDB Java Driver 4.0 beta1"
See gh-19960
5 years ago
Stephane Nicoll 52659b1df4 Merge branch '2.2.x'
Closes gh-20013
5 years ago
Johnny Lim 6ef288f45b Polish samples in doc
See gh-20004
5 years ago
dreis2211 fac6f08ca3 Use new AssertJ duration assertions
See gh-19985
5 years ago
Stephane Nicoll 0516520b7e Polish "Fix scope of CqlSessionBuilder bean"
See gh-19899
5 years ago
Stephane Nicoll 2a01c0262b Merge branch '2.2.x'
Closes gh-19958
5 years ago
Stephane Nicoll 9d0918bb2e Merge branch '2.1.x' into 2.2.x
Closes gh-19957
5 years ago
Pascal Verdage 930ec51968 Fix typo
See gh-19956
5 years ago
Stephane Nicoll 07a1783572 Polish "Introduce appendix section with version properties"
See gh-19898
5 years ago
dreis2211 65394582f6 Introduce appendix section with version properties
With the introduction of Gradle we lost the list of version properties
that were previously in the spring-boot-dependencies POM and were also
linked inside the documentation. This commit introduces an appendix
section in the docs and links the appropriate places to the new section
to restore discoverability.

See gh-19898
5 years ago
dreis2211 b49e01f67a Fix broken documentation links
See gh-19936
5 years ago
Stephane Nicoll 51f6256035 Merge branch '2.2.x' 5 years ago
Stephane Nicoll 9ca15ee00d Fix broken documentation links
See gh-19936
5 years ago
dreis2211 42e34673a6 Remove obsolete files
See gh-19896
5 years ago
Stephane Nicoll eb9b1972cf Adapt Cassandra documentation of v4 driver upgrade
See gh-18621
5 years ago
Stephane Nicoll 2b06a423d0 Merge branch '2.2.x'
Closes gh-19873
5 years ago
Stephane Nicoll c77d4c07d7 Merge branch '2.1.x' into 2.2.x
Closes gh-19872
5 years ago
Stephane Nicoll 650e55c242 Polish "Encourage use of SpringBootApplication"
See gh-19855
5 years ago
protyay 3131616c5a Encourage use of SpringBootApplication
See gh-19855
5 years ago
Phillip Webb e0013454b5 Use parentheses when declaring dependencies
Update all dependencies declarations to use the form `scope(reference)`
rather than `scope reference`.

Prior to this commit we declared dependencies without parentheses unless
we were forced to add them due to an `exclude`.
5 years ago
Phillip Webb 0209cd3e4c Polish quote form used in Gradle scripts
Replace Gradle single quote strings with the double quote form
whenever possible. The change helps to being consistency to the
dependencies section where mostly single quotes were used, but
occasionally double quotes were required due to `${}` references.
5 years ago
Phillip Webb bfd2ca7fd9 Polish Gradle expression references
Expand all expression `$` references to the full `${...}` form.
5 years ago
dreis2211 991bcf5ce4 Revisit documentation that mentions Gradle "compile" configuration
See gh-19797
5 years ago
Stephane Nicoll 67bba7c64a Merge branch '2.2.x'
Closes gh-19820
5 years ago
Stephane Nicoll 3dba4c8f4e Polish "Document RedisCacheManagerBuilderCustomizer"
See gh-19819
5 years ago
Dmytro Nosan 61d8bacd23 Document RedisCacheManagerBuilderCustomizer
See gh-19819
5 years ago
dreis2211 dcdadb9aa7 Make Tomcat javadoc link version dependent
See gh-19632
5 years ago
Andy Wilkinson 443d1a6a21 Upgrade to Liquibase 3.8.5
Closes gh-19754
5 years ago
Brian Clozel 711391cf2f Move spring.http.* config properties namespace
Closes gh-18827
5 years ago
Scott Frederick c789592e26 Remove support for deprecated Elasticsearch Jest client
Closes #19676
5 years ago
Stephane Nicoll 738ba15d0c Merge branch '2.2.x'
Closes gh-19679
5 years ago
Stephane Nicoll 0c7dae0d51 Remove duplicate note in Hazelcast section of reference guide
Closes gh-19678
5 years ago