Commit Graph

1190 Commits

Author SHA1 Message Date
Phillip Webb 5591a6ab77 Merge branch '2.3.x'
Closes gh-22961
2020-08-14 15:11:47 -07:00
Phillip Webb 03d4b89c06 Merge branch '2.2.x' into 2.3.x
Closes gh-22960
2020-08-14 15:11:23 -07:00
Madhura Bhave bbbbe8e4d2 Make security auto-configs back off when SecurityFilterChain present
Closes gh-22739
2020-08-14 12:24:25 -07:00
Phillip Webb 310ef6e999 Rename volumemount -> configtree
Closes gh-22941
2020-08-13 13:28:25 -07:00
Stephane Nicoll 045d2f678d Document Spring Data Neo4j 6 support
Closes gh-22652
2020-08-13 17:51:39 +02:00
Stephane Nicoll 42ca62b2e7 Merge branch '2.3.x'
Closes gh-22931
2020-08-13 11:49:03 +02:00
Stephane Nicoll df78105a3c Merge branch '2.2.x' into 2.3.x
Closes gh-22930
2020-08-13 11:48:43 +02:00
Stephane Nicoll 2c120eb161 Merge branch '2.3.x'
Closes gh-22900
2020-08-12 09:51:44 +02:00
Stephane Nicoll 38baaf31d3 Merge branch '2.2.x' into 2.3.x
Closes gh-22899
2020-08-12 09:51:25 +02:00
Madhura Bhave 4799b26d2c Merge branch '2.3.x'
Closes gh-22897
2020-08-11 12:25:48 -07:00
Madhura Bhave eeca767c49 Merge branch '2.2.x' into 2.3.x
Closes gh-22895
2020-08-11 12:22:43 -07:00
Stephane Nicoll 8bcf5186dc Merge branch '2.3.x'
Closes gh-22891
2020-08-11 16:51:58 +02:00
Stephane Nicoll 92445fcc54 Merge branch '2.2.x' into 2.3.x
Closes gh-22890
2020-08-11 16:51:34 +02:00
Stephane Nicoll 44e807738b Merge branch '2.3.x'
Closes gh-22889
2020-08-11 15:54:03 +02:00
Stephane Nicoll ac7320d7fe Document that Cassandra's application.conf is not considered
Closes gh-21787
2020-08-11 15:53:06 +02:00
Stephane Nicoll 5bd69fcd61 Merge branch '2.3.x'
Closes gh-22874
2020-08-11 13:40:21 +02:00
Stephane Nicoll dc4de06b35 Restore customization of the Couchbase cache manager
With the upgrade to the new Couchbase SDK and the related changes in
Spring Data Couchbase, CacheManagerCustomizer can no longer be used to
customize the Couchbase cache manager as it is an immutable class.

This commit introduces a dedicated callback for the
CouchbaseCacheManagerBuilder that is used by the auto-configuration and
update the documentation to refer to it with a sample usage.

Closes gh-22573
2020-08-11 13:32:17 +02:00
dreis2211 11df8216ad Fix some doc anchors
See gh-22839
2020-08-10 14:34:22 +02:00
Stephane Nicoll fcab5d6ce1 Merge branch '2.3.x' 2020-08-10 14:33:50 +02:00
Stephane Nicoll 2b578296f9 Merge branch '2.2.x' into 2.3.x 2020-08-10 14:33:37 +02:00
Brian Clozel 6336007038 Merge branch '2.3.x'
Closes gh-22826
2020-08-07 16:01:25 +02:00
Brian Clozel fea535d176 Update HTTP/2 auto-configuration for Jetty
Prior to this commit, the HTTP/2 server auto-configuration for Jetty
would require Conscrypt as a hard dependency.

This commit updates the auto-configuration for more flexibility and now
allows the following deployments:

* JDK9+ with the JDK ALPN implementation
* JDK8u252+ with the backported ALPN implementation
* Conscrypt with no JDK requirement

The auto-configuration now improves detection and guides developers in
case there is a missing `jetty-alpn-*-server` dependency.

The reference docs in the HOWTO section has been updated accordingly.

Closes gh-22188
2020-08-07 15:42:23 +02:00
Andy Wilkinson 4b17bfd889 Merge branch '2.3.x' 2020-08-06 13:34:31 +01:00
Andy Wilkinson 327138c227 Merge branch '2.2.x' into 2.3.x 2020-08-06 13:34:12 +01:00
Andy Wilkinson 792c4f46ef Merge branch '2.3.x'
Closes gh-22759
2020-08-06 09:22:11 +01:00
Andy Wilkinson c121f9f61f Merge branch '2.2.x' into 2.3.x
Closes gh-22758
2020-08-06 09:21:29 +01:00
Madhura Bhave b9abcf1615 Fail hard if spring.profiles.include is used with new config processing
Closes gh-22693
2020-08-05 14:41:32 -07:00
Andy Wilkinson 9c417d280c Merge branch '2.3.x'
Closes gh-22749
2020-08-05 18:15:59 +01:00
Andy Wilkinson a160755da5 Merge branch '2.2.x' into 2.3.x
Closes gh-22748
2020-08-05 18:15:45 +01:00
Stephane Nicoll 516582f6d3 Merge branch '2.3.x'
Closes gh-22744
2020-08-05 18:05:07 +02:00
Johnny Lim 1017774ed5 Polish
See gh-22740
2020-08-05 17:59:03 +02:00
Stephane Nicoll 313b2bef6f Polish "Add test slice for Spring Data Cassandra"
See gh-17490
2020-08-05 16:46:52 +02:00
Stephane Nicoll 36fb86a110 Update to core r2dbc support
This commit adapts the auto-configuration for the new core r2dbc support
in Spring Framework and provides auto-configuration for
R2dbcEntityOperations.

Closes gh-22708
2020-08-04 16:00:29 +02:00
Stephane Nicoll bb3066f61a Merge branch '2.3.x'
Closes gh-22707
2020-08-03 15:02:05 +02:00
Stephane Nicoll 13f1d00048 Merge branch '2.2.x' into 2.3.x
Closes gh-22706
2020-08-03 15:01:07 +02:00
Brian Clozel e6957ec8c4 Merge branch '2.3.x'
Closes gh-22697
2020-08-01 20:03:00 +02:00
Brian Clozel 35093aacf4 Polish "Document properties to enable probe health indicators"
See gh-22631
2020-08-01 19:59:25 +02:00
Tadaya Tsuyukubo 630cbae7d7 Document properties to enable probe health indicators
Document property names to enable probe(readiness/liveness)
health indicators.

See gh-22631
2020-08-01 19:59:03 +02:00
Andy Wilkinson 95f76d68af Merge branch '2.3.x'
Closes gh-22677
2020-07-30 18:07:14 +01:00
Andy Wilkinson f81e8909fa Document how to re-enable DataSource auto-config when using R2DBC
Closes gh-22094
2020-07-30 18:06:13 +01:00
Andy Wilkinson 5f1198c917 Merge branch '2.3.x'
Closes gh-22670
2020-07-30 12:13:04 +01:00
Andy Wilkinson 45346b63ba Merge branch '2.2.x' into 2.3.x
Closes gh-22669
2020-07-30 12:12:45 +01:00
Andy Wilkinson 7e547b60cf Merge branch '2.2.x' into 2.3.x
Closes gh-22665
2020-07-30 09:06:28 +01:00
Stephane Nicoll 9bc71fe44f Polish "Upgrade to Spring Data Neo4j 6"
See gh-22299
2020-07-29 19:36:42 +02:00
Madhura Bhave 4b2c94cb2b Allow exclude only health groups
Closes gh-22053
2020-07-28 12:36:24 -07:00
Andy Wilkinson ddb4de2db1 Merge branch '2.3.x'
Closes gh-22630
2020-07-28 18:27:13 +01:00
Andy Wilkinson 77287f8632 Merge branch '2.2.x' into 2.3.x
Closes gh-22629
2020-07-28 18:27:01 +01:00
Stephane Nicoll c6fde1e4d5 Polish "Update Neo4j health check to use the Neo4j Driver"
See gh-22302
2020-07-28 16:36:58 +02:00
Andy Wilkinson 1130f1dded Merge branch '2.3.x'
Closes gh-22623
2020-07-28 14:37:16 +01:00
Andy Wilkinson d6490da88b Merge branch '2.2.x' into 2.3.x
Closes gh-22622
2020-07-28 14:37:07 +01:00
Andy Wilkinson 65d45c4e25 Merge branch '2.3.x'
Closes gh-22619
2020-07-28 13:26:35 +01:00
dreis2211 be8a70936d Add ElasticsearchReactiveHealthIndicator to docs
See gh-22616
2020-07-28 13:25:04 +01:00
Andy Wilkinson 8be8cc5452 Merge branch '2.3.x'
Closes gh-22618
2020-07-28 13:22:46 +01:00
Andy Wilkinson a2ce39d7eb Merge branch '2.2.x' into 2.3.x
Closes gh-22617
2020-07-28 13:22:32 +01:00
Andy Wilkinson a822c6fb97 Merge branch '2.3.x'
Closes gh-22609
2020-07-28 08:43:38 +01:00
Andy Wilkinson 5471e16fce Merge branch '2.2.x' into 2.3.x
Closes gh-22608
2020-07-28 08:43:19 +01:00
Andy Wilkinson 1c22ec9373 Merge branch '2.3.x' 2020-07-27 16:00:54 +01:00
Andy Wilkinson 280ecfcd47 Polish 2020-07-27 16:00:47 +01:00
Andy Wilkinson 4c45c265ef Merge branch '2.3.x'
Closes gh-22597
2020-07-27 15:53:21 +01:00
Andy Wilkinson 189fa12c9d Merge branch '2.2.x' into 2.3.x
Closes gh-22596
2020-07-27 15:53:03 +01:00
Stephane Nicoll 8c418adb9b Polish "Add auto-configuration for Neo4j driver"
See gh-22301
2020-07-27 16:26:32 +02:00
Andy Wilkinson a46572a884 Merge branch '2.3.x'
Closes gh-22593
2020-07-27 15:24:14 +01:00
Andy Wilkinson 4a3683f7dd Merge branch '2.2.x' into 2.3.x
Closes gh-22592
2020-07-27 15:23:55 +01:00
Andy Wilkinson 543384bfe6 Merge branch '2.3.x'
Closes gh-22590
2020-07-27 14:48:43 +01:00
Andy Wilkinson 810fdf4450 Merge branch '2.2.x' into 2.3.x
Closes gh-22589
2020-07-27 14:48:33 +01:00
Andy Wilkinson b8b53a0e3b Merge branch '2.3.x'
Closes gh-22588
2020-07-27 14:12:09 +01:00
Andy Wilkinson c2aa6cbc60 Merge branch '2.2.x' into 2.3.x
Closes gh-22587
2020-07-27 14:10:22 +01:00
Andy Wilkinson 6b4114e4cf Merge branch '2.3.x'
Closes gh-22575
2020-07-27 09:59:22 +01:00
Andy Wilkinson 979aef1f68 Merge branch '2.2.x' into 2.3.x
Closes gh-22574
2020-07-27 09:59:07 +01:00
izeye 6eba7c5f10 Polish
See gh-22549
2020-07-25 07:26:49 +02:00
Stephane Nicoll 3530ac9b0c Polish "Disable metrics export in integration tests"
See gh-21658
2020-07-24 15:43:17 +02:00
dreis2211 b01fb63de6 Polish
See gh-22524
2020-07-23 18:16:34 +02:00
Madhura Bhave 3f76eb2097 Add volume mount property source support
Add support for volume mounted directories where the filename becomes
the property key and the file contents becomes the value.

Support is provided via a dedicated `VolumeMountDirectoryPropertySource`
class which can either be used directly, or via a "volumemount:/..."
`spring.config.import` location.

Closes gh-19990

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2020-07-22 21:03:37 -07:00
Madhura Bhave eee260fc03 Add support for profile groups
Add support for profile groups so that users can combine a number of
fine-grained profiles into a single logical group.

Closes gh-22522
2020-07-22 21:03:37 -07:00
Phillip Webb 8c6c4fa9fa Overhaul "externalized configuration" docs
Update the "externalized configuration" reference documentation
following the recent updates.

Closes gh-22521
2020-07-22 21:03:37 -07:00
Brian Clozel c6df64aeb6 Merge branch '2.3.x' 2020-07-21 16:50:57 +02:00
Brian Clozel 03739e3097 Polish "Improve liveness/readiness health config"
See gh-22107
2020-07-21 16:50:03 +02:00
Brian Clozel 1d95e2f504 Merge branch '2.3.x'
Closes gh-22483
2020-07-21 16:24:37 +02:00
Brian Clozel fe807d6c0b Improve liveness/readiness health config
Prior to this commit, the application availability infrastructure
would mix the `AvailabilityState`, the `HealthIndicator` and the
`HealthGroup` concepts and would not align with the rest.

This commit auto-configures the livenessState and readinessState
health indicators with the relevant configuration properties.
Unlike other indicators, they are not enabled by default but might
be in future versions.

This also moves the `management.health.probes.enabled` property
to `management.endpoint.health.probes.enabled` since "probes" here
is not a health indicator but rather a configuration flag for the
health endpoint.

Finally, the probes auto-configuration is refined to automatically
add liveness and readiness indicators for the probes group if
they're not already present.

Closes gh-22107
2020-07-21 16:03:06 +02:00
Andy Wilkinson 19ad163486 Merge branch '2.3.x'
Closes gh-22411
2020-07-20 13:58:40 +01:00
Andy Wilkinson accc1f1ca8 Merge branch '2.2.x' into 2.3.x
Closes gh-22410
2020-07-20 13:58:19 +01:00
Stephane Nicoll e03ac4bed6 Merge branch '2.3.x'
Closes gh-22360
2020-07-16 16:19:00 +02:00
Stephane Nicoll 30b5168fed Polish "Restructure "Building Container Images" section"
See gh-22296
2020-07-16 16:15:50 +02:00
Sebastiaan Fernandez c50a5b395b Restructure "Building Container Images" section
See gh-22296
2020-07-16 16:07:32 +02:00
Andy Wilkinson 177b3918ee Merge branch '2.3.x'
Closes gh-22340
2020-07-15 10:49:27 +01:00
Andy Wilkinson 259ea65388 Merge branch '2.2.x' into 2.3.x
Closes gh-22339
2020-07-15 10:49:01 +01:00
Andy Wilkinson 2643c60c5a Merge branch '2.3.x'
Closes gh-22316
2020-07-13 14:16:45 +01:00
Andy Wilkinson f52cdf10b3 Update WebServerInitEvent docs to reflect ordering w.r.t. refresh
Closes gh-22277
2020-07-13 12:51:07 +01:00
Brian Clozel 0f264b68e8 Add option to configure PathPatternParser
As of Spring Framework 5.3, it is now possible to use `PathPatternParser`
to parse and match request mapping path patterns, as an alternative to
the current default `AntPathMatcher`.

This new implementation has been used for a while in Spring WebFlux and
it’s been designed for consistency and performance.

This commit introduces a new configuration property for opting-in this
new variant:

`spring.mvc.pathmatch.matching-strategy=path_pattern_parser`

The default option is still `ant_path_matcher` for now, but we might
change the default in future versions since Spring Framework considers
it the best choice for modern applications.

There are several behavior differences with this new variant:

* double wildcards `"**"` are rejected when used in the middle patterns,
this is only allowed as the last matching segment in a pattern.

* it is incompatible with some path matching options, like
suffix-pattern, registered-suffix-pattern or configuring a Servlet
prefix on the `DispatcherServlet` (`spring.mvc.servlet.path=/test`)

This commit introduces two `FailureAnalyzer` implementations to guide
developers when facing those issues.

Closes gh-21694
2020-07-09 21:34:00 +02:00
Stephane Nicoll 429a504bbe Polish "Allow data unit to be specified on the constructor parameter"
See gh-21746
2020-07-09 11:51:32 +02:00
Andy Wilkinson 1f1c6fd3ea Merge branch '2.3.x'
Closes gh-22265
2020-07-08 18:00:26 +01:00
Andy Wilkinson d84aeef529 Merge branch '2.2.x' into 2.3.x
Closes gh-22264
2020-07-08 18:00:07 +01:00
Madhura Bhave 75abb9cc18 Merge branch '2.3.x'
Closes gh-22153
2020-06-29 16:36:25 -07:00
Johnny Lim 43aee1bddd Polish
See gh-22090
2020-06-29 16:35:23 -07:00
Madhura Bhave a963bba0e4 Merge branch '2.3.x' 2020-06-29 16:29:32 -07:00
Madhura Bhave 62f5e44324 Fix typo 2020-06-29 16:29:09 -07:00
Madhura Bhave fbf2beef6e Merge branch '2.3.x'
Closes gh-22152
2020-06-29 16:26:30 -07:00
Madhura Bhave 7a81cea513 Update layers.idx file example in docs
Fixes gh-21510
2020-06-29 16:25:23 -07:00
Andy Wilkinson 77eb5f7794 Polish "Add StatsD transport protocol configuration option"
See gh-22125
2020-06-29 09:47:17 +01:00
Lee Dobryden 5d41f60e45 Add StatsD transport protocol configuration option
See gh-22125
2020-06-29 09:47:08 +01:00
Stephane Nicoll ea63984f93 Merge branch '2.3.x'
Closes gh-22024
2020-06-19 11:38:16 +02:00
Stephane Nicoll d5385a7b64 Merge branch '2.2.x' into 2.3.x
Closes gh-22023
2020-06-19 11:37:52 +02:00
Stephane Nicoll 35e069e2cd Polish "Add health indicator for Cassandra that uses the CqlSession"
See gh-20887
2020-06-15 11:13:13 +02:00
Stephane Nicoll ce4ef5ed81 Merge branch '2.3.x'
Closes gh-21918
2020-06-15 09:19:15 +02:00
Stephane Nicoll 7500f0f22d Add section about Kafka metrics support
Closes gh-21910
2020-06-15 09:18:40 +02:00
Stephane Nicoll 631a5dddd1 Merge branch '2.3.x'
Closes gh-21915
2020-06-15 08:35:53 +02:00
Stephane Nicoll 676cd10dbf Fix encoding of @Bean in reference documentation
Closes gh-21908
2020-06-15 08:32:26 +02:00
Phillip Webb db0f085d40 Merge branch '2.3.x'
Closes gh-21765
2020-06-08 10:42:50 -07:00
Phillip Webb 47729be4e3 Polish 'Clarify documentation for probe ports'
See gh-21650
2020-06-08 10:42:01 -07:00
Hui Li e6ade05c2d Clarify documentation for probe ports
Update the reference documentation to provide a better description of
the port that should be used for Kubernetes probes.

See gh-21650
2020-06-08 10:41:41 -07:00
Andy Wilkinson a6eb4da2ad Merge branch '2.3.x'
Closes gh-21763
2020-06-08 17:42:19 +01:00
Andy Wilkinson 96ae4864a2 Merge branch '2.2.x' into 2.3.x
Closes gh-21762
2020-06-08 17:42:02 +01:00
Andy Wilkinson 52a5425acf Merge branch '2.3.x'
Closes gh-21761
2020-06-08 17:08:20 +01:00
Andy Wilkinson a97c63661a Merge branch '2.2.x' into 2.3.x
Closes gh-21760
2020-06-08 17:08:07 +01:00
Phillip Webb 6e71994b6b Merge branch '2.3.x'
Closes gh-21745
2020-06-07 10:28:01 -07:00
Phillip Webb abaca95467 Merge branch '2.2.x' into 2.3.x
Closes gh-21744
2020-06-07 10:27:35 -07:00
Stephane Nicoll bb86d2b3d4 Merge branch '2.3.x' 2020-06-05 16:25:38 +02:00
Stephane Nicoll 79a5ca2941 Merge branch '2.2.x' into 2.3.x 2020-06-05 16:25:24 +02:00
Andy Wilkinson 8fb7a6cace Remove JUnit 5's vintage engine from spring-boot-starter-test
Closes gh-21625
2020-06-05 14:02:26 +01:00
Stephane Nicoll 721399bdc4 Merge branch '2.3.x' 2020-06-05 14:54:55 +02:00
Toshiaki Maki 0cd526c266 Fix event name in documentation
See gh-21692
2020-06-05 14:51:53 +02:00
Andy Wilkinson d3ef6f2382 Prepare 2.3.x branch 2020-05-28 09:56:01 +01:00
Brian Clozel 18e0db6326 Document health probes config property in Actuator section
This commit mentions the `management.health.probes.enabled`
configuration property in the Kubernetes Probes section of the Actuator
chapter.

Enabling this property is required if we need to expose Kubernetes
Probes in a non-Kubernetes environment.

Fixes gh-21505
2020-05-22 22:23:41 +02:00
Brian Clozel 525e03d3b5 Add welcome page support for Spring WebFlux
This commit adds the support for static and templated welcome pages with
Spring WebFlux. The implementation is backed by a `RouterFunction`
that's serving a static `index.html` file or rendering an `index` view.

Closes gh-9785
2020-05-22 14:20:06 +02:00
Madhura Bhave 146ebf107c Merge branch '2.2.x'
Closes gh-21529
2020-05-20 17:42:39 -07:00
Andy Wilkinson 3f56f97e03 Merge branch '2.2.x'
Closes gh-21472
2020-05-15 16:21:33 +01:00
Phillip Webb 194c9fac64 Polish 'Add @WebServiceClientTest slice test support'
See gh-17274
2020-05-14 00:21:50 -07:00
Madhura Bhave 4d521e712f Merge branch '2.2.x' 2020-05-13 13:55:44 -07:00
Madhura Bhave 453ca01338 Merge branch '2.2.x'
Closes gh-21429
2020-05-12 13:43:17 -07:00
Andy Wilkinson 0bb687717c Auto-configure a lifecycle processor with configurable timeout
Closes gh-21347
2020-05-12 19:59:52 +01:00
Andy Wilkinson 240898121f Use SmartLifecycle for graceful web server shutdown
Closes gh-21325
2020-05-12 19:59:52 +01:00
Richard North aed4f58403 Fix capitalization of Testcontainers in Howto docs
See gh-21417
2020-05-12 10:01:06 +02:00
Madhura Bhave 3e3ff26129 Add a testcontainers section in the reference docs
Closes gh-20734
2020-05-11 19:07:47 -07:00
Madhura Bhave 7468f574d7 Add more context to the Kubernetes container lifecycle documentation
Closes gh-20932
2020-05-11 18:38:49 -07:00
Madhura Bhave a4254f7b30 Document that graceful shutdown requires Tomcat 9.0.33
Closes gh-20886
2020-05-11 18:14:43 -07:00
Stephane Nicoll d067cc6ae2 Merge branch '2.2.x'
Closes gh-21367
2020-05-08 16:58:01 +02:00
dreis2211 71c8d5cda1 Update link to new Spring Security docs location
See gh-21040
2020-05-08 14:29:22 +02:00
Phillip Webb 5ae623c43a Polish 'Add Period converter support'
Polish period converter support, primarily by changing
`PeriodStyle` to parse and print periods that include
more than one unit.

See gh-21136
2020-05-06 00:21:50 -07:00
Katada, Junya bc2a83062b Fix duplicate slashes in URL links
See gh-21108
2020-05-05 17:48:49 +02:00
Madhura Bhave 8ec16bd027 Restrict wildcard pattern support for configuration files
This commit restricts how wildcards can be used in search
locations for property files. If a search location contains
a pattern, there must be only one '*' and the location should
end with a '*/'. For search locations that specify the file
name, the pattern should end with '*/<filename>'.

The list of files read from wildcard locations are now sorted
alphabetically according to the absolute path of the file.

Closes gh-21217
2020-04-30 14:17:44 -07:00
Phillip Webb ad1248e4ec Replace "folder" with "directory"
Consistently use the term "directory" instead of "folder"

Closes gh-21218
2020-04-28 19:20:24 -07:00
Andy Wilkinson fb33610027 Automatically create developmentOnly configuration
Previously, the developmentOnly configuration, typically used for
Devtools, had to be declared manually. The BootJar and BootWar tasks
then had a property, excludeDevtools, that could be used to control
whether or not Devtools would be excluded from the executable archive.

This commit updates the reaction to the Java plugin being applied to
automatically create the developmentOnly configuration. The classpaths
of bootJar and bootWar are then configured not to include the contents
of the developmentOnly configuration. As a result of this, the
excludeDevtools property is no longer needed and has been deprecated.
Its default has also been changed from true to false to make it easy
to opt in to Devtools, when configured as a development-only
dependency, being included in executable jars and wars by adding
developmentOnly to the classpath of the archive task.

Closes gh-16599
2020-04-27 13:38:14 +01:00
Brian Clozel dfdee3e00e Revert "Add support for Reactor Netty Micrometer metrics"
This commit removes the support for Reactor Netty metrics since it
seems that Spring Boot should not use this feature:

* HTTP metrics are already covered by WebFlux
* TCP metrics are only meant to TCP server/clients
* allocator metrics are already provided by Netty and there is
no specific API to enable them here.

Closes gh-19388
2020-04-27 12:06:26 +02:00
Brian Clozel 956afdcf97 Add support for Reactor Netty Micrometer metrics
This commit enables the production of TCP and buffer allocator metrics
for Reactor Netty, client and server.

When applications use auto-configured server
(`NettyReactiveWebServerFactory`) and client (through
`WebClient.Builder`) instances, metrics will be enabled.

Note that HTTP metrics are not enabled here, since similar metrics are
already produced at the WebFlux level. Also, to avoid cardinality
explosion of metrics (through the URI tag), Reactor Netty offers
configurable infrastructure to deduplicate URI tags by turning expanded
URI instances into templated URIs. This is not targeted for Spring
usage.

Closes gh-19388
2020-04-26 22:10:39 +02:00
Stephane Nicoll 85a3fcfb5e Merge branch '2.2.x'
Closes gh-21119
2020-04-25 09:32:24 +02:00
Johnny Lim ef567388c1 Polish
See gh-21110
2020-04-25 09:04:10 +02:00
dreis2211 c2fb95151b Fix link to R2DBC Query in docs
See gh-21079
2020-04-25 09:00:58 +02:00
dreis2211 5eb5bf0a2d Polish
See gh-21009
2020-04-25 08:54:47 +02:00
Andy Wilkinson d53be18582 Deprecate support for Bitronix
Closes gh-20823
2020-04-24 11:37:44 +01:00
Phillip Webb 6ccba24494 Merge branch '2.2.x'
Close gh-20507 in 2.3.0.RC1
2020-04-23 16:40:49 -07:00
Andy Wilkinson d05c973e71 Polish 2020-04-23 11:49:07 +01:00
Stephane Nicoll fe90b2a251 Rename Service Level Agreement to Service Level Objective
This commit harmonizes our integration of Micrometer's Service Level
objectives.

Closes gh-21076
2020-04-23 10:13:17 +02:00
Phillip Webb 48821bccb7 Merge branch '2.2.x'
Closes gh-21092
2020-04-22 16:50:41 -07:00
Madhura Bhave 0699116e95 Merge branch '2.2.x'
Closes gh-21075
2020-04-21 17:11:05 -07:00
Madhura Bhave 7755e0c3e2 Fix Dockerfile example in docs
Fixes gh-21020
2020-04-20 16:02:35 -07:00
Madhura Bhave 2cac264624 Merge branch '2.2.x'
Closes gh-21049
2020-04-20 15:58:45 -07:00
dreis2211 320b328610 Fix anchors in links to Maven and Gradle plugin docs
See gh-21033
2020-04-20 13:39:38 +01:00
Phillip Webb e533ce3826 Merge branch '2.2.x'
Closes gh-21028
2020-04-19 18:56:02 -07:00
Phillip Webb 636a47641a Merge branch '2.2.x'
Closes gh-21026
2020-04-19 17:49:13 -07:00
Phillip Webb 3c388cf48e Fix typo 2020-04-16 13:20:47 -07:00
Johnny Lim 5fad43ec40 Polish
See gh-20973
2020-04-16 13:46:53 +02:00
Madhura Bhave d648b98991 Merge branch '2.2.x'
Closes gh-20964
2020-04-14 16:55:40 -07:00
Phillip Webb 28da1da241 Update availability/probe documentation
Update the application availability and probes documentation following
the recent set of updates.

See gh-20962
2020-04-14 16:40:36 -07:00
Johnny Lim cb320288a4 Polish
See gh-20931
2020-04-13 14:35:21 +02:00
Stephane Nicoll 9752cd4b8c Merge branch '2.2.x'
Closes gh-20909
2020-04-10 11:37:32 +02:00
Stephane Nicoll d571fb311f Add support for NewRelicClientProvider
Closes gh-20908
2020-04-10 11:34:19 +02:00
Madhura Bhave 1342e4970a Provide a condition for detecting war deployments
Closes gh-19421
2020-04-09 18:52:06 -07:00
Andy Wilkinson 2d360ef155 Merge branch '2.2.x'
Closes gh-20897
2020-04-09 12:41:48 +01:00
Phillip Webb d9fb4dd477 Don't use monospacing in documentation headings
Closes gh-20875
2020-04-07 11:08:57 -07:00
Phillip Webb ef9611e30e Document executable-jar index files
Update the executable jar appendix to include details of the index
files.

Closes gh-20859
2020-04-06 19:18:22 -07:00
Scott Frederick c05d7f844d Remove duplication in documentation index files
This commit combines index adoc files for single-page HTML and PDF
into one file to remove duplication. It also renames index files to
reflect the separation between source format and generated output
format.

Finishes gh-20829
2020-04-06 16:49:29 -05:00
Stephane Nicoll 888a81beba Migrate Kafka metrics to KafkaClientMetrics
Closes gh-20838
2020-04-06 16:45:56 +02:00
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
2020-04-03 16:41:12 -05:00
Stephane Nicoll b7ac83a830 Fix typo 2020-04-03 17:03:57 +02:00
Stephane Nicoll 1df8b5886c Add reference to r2dbc database initialization section
Closes gh-20524
2020-04-03 16:51:10 +02:00
Stephane Nicoll f4e6d7c1cf Fix links to Maven Plugin's documentation in reference guide
Closes gh-20818
2020-04-03 14:34:16 +02:00
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
2020-04-03 00:34:27 -07:00
Madhura Bhave 0e1394ef30 Update reference documentation for layer changes
Update the reference documentation following the jar format changes.

See gh-20813
2020-04-03 00:34:27 -07:00
Andy Wilkinson 84e16d55ea Raise the minimum supported version of Gradle 6 to 6.3
Closes gh-20532
2020-03-31 19:48:17 +01:00
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
2020-03-31 13:15:06 +02:00
Stephane Nicoll 722d37468b Rationalize RabbitProperties
Closes gh-18830
2020-03-30 15:04:52 +02:00
Stephane Nicoll 49ab5de91c Polish
See gh-20704
2020-03-28 10:37:16 +01:00
Stephane Nicoll 8154e672dd Polish
See gh-20704
2020-03-28 08:45:57 +01:00
dreis2211 674f1e77b5 Fix typos
See gh-20704
2020-03-28 08:42:59 +01:00
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
2020-03-27 12:20:40 +01:00
Stephane Nicoll 443abd414b Merge branch '2.2.x'
Closes gh-20699
2020-03-27 11:01:00 +01:00
Stephane Nicoll dfa3939f56 Merge branch '2.2.x' 2020-03-26 11:09:15 +01:00
Stephane Nicoll ff15d136db Merge branch '2.2.x'
Closes gh-20687
2020-03-26 10:42:31 +01:00
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
2020-03-24 13:02:54 +01:00
dreis2211 f95e9543dc Fix typos in packaging docs
See gh-20630
2020-03-24 07:44:26 +01:00
Phillip Webb 0717de723f Polish 2020-03-23 20:03:44 -07:00
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
2020-03-23 22:04:30 +01:00
Brian Clozel 3cc0ab1583 Polish reference docs on Kubernetes Probes
See gh-19593
2020-03-23 21:23:51 +01:00
Stephane Nicoll 8c9711ab9a Merge branch '2.2.x'
Closes gh-20622
2020-03-23 15:28:41 +01:00
Stephane Nicoll 34b71561d3 Merge branch '2.2.x'
Closes gh-20619
2020-03-23 14:22:56 +01:00
Johnny Lim cc18b91723 Fix "Building Docker Images" section level
See gh-20608
2020-03-23 08:19:49 +00:00
Brian Clozel 6b9f2cac17 Fix section title levels in reference docs 2020-03-21 11:33:42 +01:00
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
2020-03-20 23:54:00 +01:00
Brian Clozel b30e5a60c5 Polish
See gh-19593
2020-03-19 20:07:35 +01:00
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
2020-03-19 14:11:00 +01:00
Andy Wilkinson 0a17e2daf3 Merge branch '2.2.x'
Closes gh-20556
2020-03-18 10:57:40 +00:00
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>
2020-03-17 17:00:09 +01:00
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
2020-03-17 16:20:21 +01:00
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
2020-03-13 15:31:41 +00:00
Andy Wilkinson ef9960c69f Allow additional tags to be contributed to WebMvc and WebFlux defaults
Closes gh-20175
2020-03-13 09:38:29 +00:00
Johnny Lim 8526e66939 Polish
See gh-20498
2020-03-11 12:17:58 +01:00
Andy Wilkinson 4d371f0d88 Merge branch '2.2.x'
Closes gh-20491
2020-03-10 21:27:41 +00:00
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
2020-03-09 18:12:20 +00:00
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>
2020-03-03 15:15:24 +01:00
Stephane Nicoll ea66940be1 Document R2DBC support
Closes gh-19988

Co-authored-by: Mark Paluch <mpaluch@pivotal.io>
2020-02-25 09:29:36 -05:00
Stephane Nicoll 4c2ff9c314 Merge branch '2.2.x'
Closes gh-20315
2020-02-25 09:00:30 -05:00
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
2020-02-19 17:28:27 -08:00
Scott Frederick 6017c1ccac Update MongoDB auto-configuration documentation. 2020-02-19 12:39:57 -06:00
Stephane Nicoll 363edfa00c Merge branch '2.2.x'
Closes gh-20221
2020-02-18 17:38:39 +01:00
Stephane Nicoll ddeac66ca2 Merge branch '2.2.x'
Closes gh-20186
2020-02-14 15:30:26 +01:00
Andy Wilkinson 420af17570 Merge branch '2.2.x'
Closes gh-20148
2020-02-12 18:05:50 +00:00
Stephane Nicoll b21a41cde1 Merge branch '2.2.x'
Closes gh-20124
2020-02-11 14:27:33 +01:00
Johnny Lim 6818279751 Fix typo
See gh-20049
2020-02-06 16:39:25 +01:00
Madhura Bhave 9382cd4db1 Polish wildcard location documentation 2020-02-04 19:44:56 -08:00
Madhura Bhave 3f9d0058ad Document new Docker-related features
Closes gh-19868
2020-02-04 18:36:39 -08:00
Madhura Bhave e64a145ef0 Add support for wildcard locations for properties and YAML files
Closes gh-19909
2020-02-03 13:01:01 -08:00
Stephane Nicoll c4daff7225 Polish "Upgrade to MongoDB Java Driver 4.0 beta1"
See gh-19960
2020-02-03 14:12:46 +01:00
Stephane Nicoll 52659b1df4 Merge branch '2.2.x'
Closes gh-20013
2020-02-03 09:44:40 +01:00
Stephane Nicoll 0516520b7e Polish "Fix scope of CqlSessionBuilder bean"
See gh-19899
2020-01-28 14:12:31 +01:00
Stephane Nicoll 2a01c0262b Merge branch '2.2.x'
Closes gh-19958
2020-01-28 11:13:30 +01:00
Stephane Nicoll 07a1783572 Polish "Introduce appendix section with version properties"
See gh-19898
2020-01-27 14:53:52 +01:00
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
2020-01-27 14:53:32 +01:00
dreis2211 b49e01f67a Fix broken documentation links
See gh-19936
2020-01-27 14:14:30 +01:00
Stephane Nicoll 51f6256035 Merge branch '2.2.x' 2020-01-27 14:14:07 +01:00
Stephane Nicoll eb9b1972cf Adapt Cassandra documentation of v4 driver upgrade
See gh-18621
2020-01-23 18:30:55 +01:00
Stephane Nicoll 2b06a423d0 Merge branch '2.2.x'
Closes gh-19873
2020-01-23 09:54:09 +01:00
dreis2211 991bcf5ce4 Revisit documentation that mentions Gradle "compile" configuration
See gh-19797
2020-01-21 11:09:41 +01:00
Stephane Nicoll 67bba7c64a Merge branch '2.2.x'
Closes gh-19820
2020-01-20 16:13:03 +01:00
Brian Clozel 711391cf2f Move spring.http.* config properties namespace
Closes gh-18827
2020-01-14 10:45:31 +01:00
Scott Frederick c789592e26 Remove support for deprecated Elasticsearch Jest client
Closes #19676
2020-01-13 21:03:12 +01:00
Stephane Nicoll 738ba15d0c Merge branch '2.2.x'
Closes gh-19679
2020-01-13 17:01:17 +01:00
Brian Clozel b780e5247c Remove support for Elasticsearch transport client
The Elasticsearch transport client has been deprecated since Spring Boot
2.2.0 and is about to be removed from Spring Data Elasticsearch and
Elasticsearch itself in their next major releases.

The available REST client support variants are now the preferred way of
using Elasticsearch features.

Closes gh-19668
2020-01-13 16:00:18 +01:00
Andy Wilkinson e415f759a2 Raise the minimum supported version of Gradle to 5.6
Closes gh-18777
2020-01-13 12:10:13 +00:00
Stephane Nicoll b97b0c1d7b Merge branch '2.2.x'
Closes gh-19635
2020-01-11 10:36:27 +01:00
Andy Wilkinson ce99db1902 Port the build to Gradle
Closes gh-19609
Closes gh-19608
2020-01-10 14:15:35 +00:00