1219 Commits

Author SHA1 Message Date
Stephane Nicoll
cda310ba0a Polish "Fix a broken Asciidoctor syntax"
See gh-17970
2019-08-27 11:11:57 +02:00
Johnny Lim
78a467f9d3 Fix a broken Asciidoctor syntax
See gh-17970
2019-08-27 11:10:39 +02:00
Stephane Nicoll
e92a530640 Merge branch '2.1.x'
Closes gh-17972
2019-08-27 11:07:45 +02:00
leoli
34d28f48ca Fix Undertow access log dir property name in doc
See gh-17968
2019-08-27 11:06:16 +02:00
Madhura Bhave
48b5b6a24c Polish "Added support for devtools YAML configuration"
See gh-17915
2019-08-23 14:37:54 -07:00
Andy Wilkinson
b43827d626 Configure ping (formerly application) health indicator by default
This commit renames ApplicationHealthIndicator to PingHealthIndicator
and changes the auto-configuration so that it is now always configured
by default.

Closes gh-17926
2019-08-22 14:50:10 +01:00
Andy Wilkinson
05e089601e Remove default favicon and support for serving from classpath root
Closes gh-17925
2019-08-22 13:53:13 +01:00
Phillip Webb
e03f822c6d Add support for health indicator groups
Update the `HealthEndpoint` to support health groups. The
`HealthEndpointSettings` interface has been replaced with
`HealthEndpointGroups` which provides access to the primary group
as well as an optional set of additional groups.

Groups can be configured via properties and may have custom
`StatusAggregator` and `HttpCodeStatusMapper` settings.

Closes gh-14022

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
2019-08-21 18:43:25 -07:00
Phillip Webb
3c535e0de3 Add HealthContributor and refactor HealthEndpoint
Overhaul `HealthEndpoint` support to make it easier to support health
groups. Prior to this commit the `HealthIndicator` interface was used
for both regular indicators and composite indicators. In addition the
`Health` result was used to both represent individual, system and
composite health. This design unfortunately means that all health
contributors need to be aware of the `HealthAggregator` and could not
easily support heath groups if per-group aggregation is required.

This commit reworks many aspects of the health support in order to
provide a cleaner separation between a `HealthIndicator`and a
composite. The following changes have been made:

- A `HealthContributor` interface has been introduced to represent
  the general concept of something that contributes health information.
  A contributor can either be a `HealthIndicator` or a
  `CompositeHealthContributor`.

- A `HealthComponent` class has been introduced to mirror the
  contributor arrangement. The component can be either
  `CompositeHealth` or `Health`.

- The `HealthAggregator` interface has been replaced with a more
  focused `StatusAggregator` interface which only deals with `Status`
  results.

- `CompositeHealthIndicator` has been replaced with
  `CompositeHealthContributor` which only provides access to other
  contributors. A composite can no longer directly return `Health`.

- `HealthIndicatorRegistry` has been replaced with
  `HealthContributorRegistry` and the default implementation now
  uses a copy-on-write strategy.

- `HealthEndpoint`, `HealthEndpointWebExtension` and
  `ReactiveHealthEndpointWebExtension` now extend a common
  `HealthEndpointSupport` class. They are now driven by a
  health contributor registry and `HealthEndpointSettings`.

- The `HealthStatusHttpMapper` class has been replaced by a
  `HttpCodeStatusMapper` interface.

- The `HealthWebEndpointResponseMapper` class has been replaced
  by a `HealthEndpointSettings` strategy. This allows us to move
  role related logic and `ShowDetails` to the auto-configure module.

- `SimpleHttpCodeStatusMapper` and `SimpleStatusAggregator`
  implementations have been added which are configured via constructor
  arguments rather than setters.

- Endpoint auto-configuration has been reworked and the
  `CompositeHealthIndicatorConfiguration` class has been replaced
  by `CompositeHealthContributorConfiguration`.

- The endpoint JSON has been changed make `details` distinct from
  `components`.

See gh-17926
2019-08-21 18:43:25 -07:00
Phillip Webb
5f88c592b3 Polish 2019-08-20 19:27:43 -07:00
Madhura Bhave
7494a2baad Merge branch '2.1.x'
Closes gh-17880
2019-08-15 15:15:50 -07:00
Madhura Bhave
8d7deb7b67 Polish "Expand documentation on remote devtools"
See gh-17780
2019-08-15 15:11:10 -07:00
Sergei Petunin
ab33bc7deb Expand documentation on remote devtools
See gh-17780
2019-08-15 15:09:43 -07:00
Stephane Nicoll
704992e657 Merge branch '2.1.x'
Closes gh-17855
2019-08-13 17:36:14 +02:00
Stephane Nicoll
fcf4680626 Polish "Document how to add metadata for collection and enum default values"
Closes gh-12874
2019-08-13 17:35:37 +02:00
Madhura Bhave
178746d678 Update Opaque Token Client Name following upstream changes
Closes gh-17846
2019-08-12 18:38:27 -07:00
Madhura Bhave
c178c9dd47 Merge branch '2.1.x' 2019-08-12 17:30:47 -07:00
Madhura Bhave
38d36ab18d Document how to add metadata for collection and enum default values
Closes gh-12874
2019-08-12 17:26:39 -07:00
Stephane Nicoll
2059147421 Merge branch '2.1.x'
Closes gh-17840
2019-08-12 11:04:56 +02:00
Stephane Nicoll
56c2a52ea4 Polish "Fix syntax errors in docs"
Closes gh-17835
2019-08-12 10:54:33 +02:00
Stephane Nicoll
d02000ecc0 Merge branch '2.1.x'
Closes gh-17840
2019-08-12 10:36:06 +02:00
dreis2211
2e32af4737 Fix syntax errors in docs
See gh-17835
2019-08-12 10:34:46 +02:00
Madhura Bhave
4208be0154 Merge branch '2.1.x'
Closes gh-17818
2019-08-08 16:26:53 -07:00
Madhura Bhave
47a9bb1c0e Document that auto-configuration classes are not public API
Closes gh-16704
2019-08-08 16:26:04 -07:00
Madhura Bhave
7997971b0e Merge branch '2.1.x'
Closes gh-17815
2019-08-08 15:16:20 -07:00
Madhura Bhave
1b62a05c40 Document Prometheus Pushgateway support
Closes gh-16853
2019-08-08 15:15:51 -07:00
Madhura Bhave
faaada1416 Remove liquibase check change log location
Missing change logs would lead to an exception even
if the checkChangeLogLocation was set to false. Spring Boot's check
would pass but Liquibase would fail later making this property redundant.

Fixes gh-16232
2019-08-02 09:03:45 -07:00
Stephane Nicoll
45915d085e Merge branch '2.1.x'
Closes gh-17767
2019-08-02 17:35:39 +02:00
Stephane Nicoll
bacb4d1715 Polish "Refine back-off strategy of Neo4j SessionFactory"
See gh-17662
2019-08-02 17:15:22 +02:00
Phillip Webb
890ea153bf Allow endpoint @Selector to capture all paths
Update `@Selector` with a `match` attribute that can be used to select
all remaining path segments. An endpoint method like this:

	 select(@Selector(match = Match.ALL_REMAINING) String... selection)

Will now have all reaming path segments injected into the `selection`
parameter.

Closes gh-17743
2019-07-31 12:44:46 +01:00
Madhura Bhave
9000d7d845 Merge branch '2.1.x'
Closes gh-17693
2019-07-29 11:38:49 -07:00
Tomas Aschan
1b172dc4fe Clarify documentation about specifying main class
See gh-17003
2019-07-29 11:36:26 -07:00
Phillip Webb
6675f49334 Switch to multi-line security configuration
Now that we have lambda style security configuration we can further
improve readability by switching to one statement per line.

See gh-17525
2019-07-29 11:28:51 +01:00
Madhura Bhave
39a7b9da38 Switch to lambda style security configuration
Closes gh-17525
2019-07-26 14:41:49 -07:00
Phillip Webb
8bc780762a Merge branch '2.1.x' 2019-07-24 11:42:48 +01:00
Phillip Webb
fb1dd8fe93 Merge branch '2.0.x' into 2.1.x 2019-07-24 11:41:32 +01:00
Phillip Webb
913e831f4e Merge '1.5.x' into 2.0.x 2019-07-24 11:39:58 +01:00
dreis2211
4805208716 Remove obsolete UnauthenticatedAccessExample
See gh-17614
2019-07-24 11:06:43 +02:00
Andy Wilkinson
e7b94be9cd Polish "Document @EmbeddedKafka and its interaction with Spring Boot"
See gh-15834
2019-07-23 17:20:46 +01:00
Artem Bilan
4e79408bb0 Document @EmbeddedKafka and its interaction with Spring Boot
See gh-15834
2019-07-23 16:59:04 +01:00
Stephane Nicoll
94c35ae1de Polish "Make Actuator dedicated ConversionService configurable"
See gh-16449
2019-07-23 12:27:00 +02:00
Stephane Nicoll
26ee9150b2 Document WebFilter is scanned by @WebFluxTest
See gh-17601
2019-07-23 09:01:32 +02:00
Stephane Nicoll
94a757113d Document HandlerInterceptor is scanned by @WebMvcTest
See gh-17601
2019-07-23 08:57:09 +02:00
Stephane Nicoll
a1f32bbd7a Merge branch '2.1.x'
Closes gh-17603
2019-07-22 15:29:58 +02:00
Stephane Nicoll
30fe10613d Improve how to configure configuration keys of a custom starter
Closes gh-17573
2019-07-22 15:28:17 +02:00
Stephane Nicoll
300f07b2a8 Polish 2019-07-22 15:20:37 +02:00
Andy Wilkinson
ff9d0cf49b Merge branch '2.1.x'
Closes gh-17588
2019-07-19 15:44:19 +01:00
Andy Wilkinson
74f0e42c98 Make it clearer when there will be no auto-configured MessageSource
Closes gh-17485
2019-07-19 15:44:00 +01:00
Andy Wilkinson
78871d7a5d Tighten up sourceDocumentExtensions used for single and multi-page docs
Previously, the sourceDocumentExtension used for the single-page
documentation was htmlsingleadoc and for the multi-page docs they
were adoc and htmladoc. When finding source files to render, the
Asciidoctor Maven Plugin looks for files with a name that ends with
one of the configured extensions. This resulted in the
index.htmlsingleadoc file matching the adoc extention in the
multi-page configuration in addition to the intended match for the
index.htmladoc. As a result both the single-page and multi-page
indexes were rendered when rendering the multi-page documentation.

In addition to this unwanted rendering, if the single-page index was
rendered after the multi-page index, the multi-page index would be
overwritten by the single-page index, leaving the multi-page docs with
the wrong index file. Asciidoctor uses File.listFiles() during its
source file discovery which is documented as having no guarantee
that the resulting array will be in any specific order. As a result,
there was also no guarantee about which index we'd end up with.

Closes gh-17263
2019-07-19 14:55:10 +01:00
Andy Wilkinson
3dc20ff934 Recommend third-party tracing/observability solutions
Closes gh-17047
2019-07-19 10:04:27 +01:00