780 Commits

Author SHA1 Message Date
Stephane Nicoll
79201b61b6 Merge branch '2.2.x'
Closes gh-19158
2019-11-27 11:47:46 +01:00
Stephane Nicoll
ce16c9e945 Merge branch '2.1.x' into 2.2.x
Closes gh-19157
2019-11-27 11:47:23 +01:00
Stephane Nicoll
2356462587 Polish "Remove '.' and '-' reference in the EndpointId javadoc"
See gh-19101
2019-11-27 11:45:35 +01:00
Lars Grefer
58e599b6c1 Remove '.' and '-' reference in the EndpointId javadoc
Endpoint ID's which contain '-' or '.' cause a deprecation warning.
Therefore they shouldn't be doumented as valid characters.

See gh-19101
2019-11-27 11:44:13 +01:00
dreis2211
8a730ff630 Use DateTimeFormatter in favor of SimpleDateFormat
See gh-19142
2019-11-27 11:07:56 +01:00
Stephane Nicoll
12c5cdceb1 Merge branch '2.2.x'
Closes gh-19104
2019-11-23 12:05:43 +01:00
thelproad
65ab82b3cd Remove redundant code
See gh-19000
2019-11-23 12:01:19 +01:00
dreis2211
21dc7e9ca3 Fix StepVerifier usage in HealthIndicatorReactiveAdapterTests 2019-11-22 21:04:10 +01:00
dreis2211
0bdcd2ee67 Handle ApiVersion in CachingOperationInvoker
Prior to this commit, ApiVersion was treated as a mandatory parameter in
CachingOperationInvokerAdvisor and thus prevented the
CachingOperationInvoker to kick in. By skipping ApiVersion in the same
way we're skipping SecurityContext we can avoid this.

In order to not return the same cached response, this commit also
changes the cache handling in CachingOperationInvoker to account for
different ApiVersions being passed.

See gh-18961
2019-11-21 13:46:49 +01:00
Madhura Bhave
6e22ddc1a6 Merge branch '2.1.x' into 2.2.x 2019-11-19 12:09:49 -08:00
Madhura Bhave
849a76c6c2 Polish 2019-11-19 12:07:05 -08:00
Madhura Bhave
ff22bd4827 Merge branch '2.1.x' into 2.2.x
Closes gh-19059
2019-11-19 11:52:26 -08:00
Madhura Bhave
a3a53d299f Check authorities when exposing health details
Fixes gh-18998
2019-11-19 11:18:07 -08:00
dreis2211
6b500d82b4 Polish
See gh-18918
2019-11-12 14:06:47 +01:00
Stephane Nicoll
86a1c96224 Make sure health endpoint is available with no contributor
This commit makes sure that the health endpoint returns a default health
status when no contributors are available. Previously, it was returning
`null` which leads to a 404 when exposed via HTTP.

Closes gh-18676
2019-11-06 12:46:47 +01:00
dreis2211
1b2112ea8c Reduce method visibility in EndpointDiscovererTests
See gh-18884
2019-11-05 14:14:24 +01:00
Andy Wilkinson
ce01f7f150 Merge branch '2.1.x'
Closes gh-18882
2019-11-05 11:05:51 +00:00
Andy Wilkinson
ed50bf2494 Honour EndpointFilter configured on an endpoint's superclass
Previously, @EndpointFilter would only have an effect when used as
an annotation or meta-annotation on the endpoint class itself. It
would have no effect when used on a super-class of the endpoint
bean's class.

This commit updates EndpointDiscoverer so that an @EndpointFilter
annotation or meta-annotation on a super-class will be found and
applied to the discovery process. This is achieved by using find…
rather than get… when retrieving the attributes for the EndpointFilter
annotation.

Fixes gh-17866
2019-11-05 10:51:36 +00:00
Phillip Webb
b3e9a06476 Polish 2019-10-30 15:02:14 -07:00
Stephane Nicoll
d6d32ec01d Polish 2019-10-29 09:02:25 +01:00
Stephane Nicoll
11e0045ec6 Polish contribution
See gh-18736
2019-10-29 08:34:48 +01:00
mattisonchao
f61da8b723 Polish
See gh-18736
2019-10-29 08:32:23 +01:00
dreis2211
9ece2e277f Remove redundant explicit types
See gh-18754
2019-10-27 08:33:01 +01:00
dreis2211
911b12f28d Fix JsonParser deprecation
See gh-18750
2019-10-26 11:53:17 +02:00
Stephane Nicoll
3d253854e9 Handle constructor bound configuration properties in /configprops
This commit updates the configprops actuator endpoint to detect
configuration properties that are bound using a constructor.

Closes gh-18636
2019-10-24 14:32:40 +02:00
Phillip Webb
597baf9774 Polish "Optimize logger calls"
See gh-18710
2019-10-23 21:00:05 -07:00
wycm
240b1f9e29 Optimize logger calls
Guard logger calls to ensure that they are only made when the
level is set.

See gh-18710
2019-10-23 20:59:11 -07:00
Phillip Webb
ba30ee03df Improve health contributor null support
Update `NamedContributorsMapAdapter` to check for `null` keys or values
during construction. Also update `HealthEndpointSupport` to allow
null component entries.

See gh-18687
2019-10-23 15:14:51 -07:00
Phillip Webb
7c9ac03014 Filter empty health contributions
Update `HealthEndpointSupport` so that aggregate elements that don't
ultimately provide a contribution are filtered out. Prior to this
commit an NPE was returned when calculating the aggregate status.

Fixes gh-18687
2019-10-23 15:14:51 -07:00
dreis2211
8ecdf919f8 Fix Mockito deprecations
See gh-18689
2019-10-23 09:49:33 +02:00
Stephane Nicoll
d254c62712 Polish tests 2019-10-22 14:27:25 +02:00
Stephane Nicoll
64401216b0 Merge branch '2.1.x'
Closes gh-18614
2019-10-16 10:58:03 +02:00
contextshuffling
a8c6540191 Use LinkedHashSet for deterministic order in test assertion
See gh-18612
2019-10-16 10:47:58 +02:00
Stephane Nicoll
9c6e5f0904 Merge branch '2.1.x'
Closes gh-18585
2019-10-15 08:15:42 +02:00
dreis2211
abfb87d1a3 Rename tests to match Surefire expectations
See gh-18579
2019-10-15 08:11:47 +02:00
dreis2211
d8de6fff53 Polish
See gh-18557
2019-10-12 16:55:07 +01:00
dreis2211
3174f06bf2 Remove usage of @InjectMocks
See gh-18557
2019-10-12 16:54:57 +01:00
Andy Wilkinson
46c30d6bb0 Merge branch '2.1.x'
Closes gh-18476
2019-10-02 10:48:57 +01:00
Andy Wilkinson
3d4157ad6d Correct SCM URLs in published poms
Previously, Maven's default behaviour was relied up which resulted
in the artifact ID being appended to each URL as it was inherited.
This behaviour can only be disabled in Maven 3.6 and later, a version
that we cannot use due to an incompatibility with the Flatten Plugin.

This commit works around Maven's default behaviour by defining
properties for the SCM URL, connection, and developer connection and
then explicitly defining the settings in each pom using these
properties. The explicit definition of the properties in each pom
prevents them being inherited from the parent, thereby disabling the
unwanted appending of the artifact ID to the URL.

Fixes gh-18328
2019-10-02 10:48:30 +01:00
Phillip Webb
869a8c2691 Merge branch '2.1.x'
Closes gh-18411
2019-09-28 22:45:56 -07:00
Phillip Webb
38968d2fff Polish 'Apply TTL invocation caching on reactor types'
Extract reactor specific code to an inner class to protect
against ClassNotFound exceptions if reactor is not in use.

Also add support for `Flux`.

See gh-18339
2019-09-28 21:46:36 -07:00
dreis2211
33d8bfa99d Apply TTL invocation caching on reactor types
Update `CachingOperationInvoker` so that TTL caching is applied directly
to reactive types. Prior to this commit, a `Mono` would be cached, but
the values that it emitted would not.

See gh-18339
2019-09-28 21:43:38 -07:00
Stephane Nicoll
15eeedb59a Merge branch '2.1.x'
Closes gh-18380
2019-09-27 17:00:23 +02:00
Phillip Webb
a94ab673a3 Add health endpoint 'show-components' support
Add a `show-components` property under `management.endpoint.health` and
`management.endpoint.health.group.<name>` that can be used to change
when components are displayed.

Prior to this commit it was only possible to set `show-details` which
offered an "all or nothing" approach to the resulting JSON. The new
switch allows component information to be displayed whilst still hiding
potentially sensitive details returned from the actual `HealthIndicator`.

Closes gh-15076
2019-09-26 16:17:28 -07:00
Phillip Webb
69c561a69a Rename health JSON 'details' to 'components' in v3
Update the health endpoint so the nested components are now exposed
under `components` rather than `details` when v3 of the actuator
REST API is being used.

This distinction helps to clarify the difference between composite
health (health composed of other health components) and health
details (technology specific information gathered by the indicator).

Since this is a breaking change for the REST API, it is only returned
for v3 payloads. Requests made accepting only a v2 response will have
JSON provided in the original form.

Closes gh-17929
2019-09-26 16:16:23 -07:00
Phillip Webb
cd1b7c1a9c Test v3 actuator API with loggers endpoint
Update `LoggersEndpointWebIntegrationTests` to ensure that the new
v3 media type can be used.

See gh-17929
2019-09-26 16:16:19 -07:00
Phillip Webb
deb9d67cef Add Actuator ApiVersion support and bump version
Add `ApiVersion` enum that can be injected into actuator endpoints if
they need to support more than one API revision.

Spring MVC, WebFlux and Jersey integrations now detect the API version
based on the HTTP accept header. If the request explicitly accepts a
`application/vnd.spring-boot.actuator.v` media type then the version
is set from the header. If no explicit Spring Boot media type is
accepted then the latest `ApiVersion` is assumed.

A new v3 API revision has also been introduced to allow upcoming health
endpoint format changes. By default all endpoints now consume and
can produce v3, v2 and `application/json` media types.

See gh-17929
2019-09-26 16:16:15 -07:00
Phillip Webb
323a78c4b9 Add property to migrate deprecated endoint IDs
Allow legacy actuator endpoint IDs that contain dots to be transparently
migrated to the new format. This update will allow Spring Cloud users
to proactively migrate from endpoints such as `hystrix.stream` to
`hystrixstream`.

Closes gh-18148
2019-09-24 19:53:50 -07:00
Stephane Nicoll
c2df1afff0 Start building against Spring Integration 5.2.0 snapshots
See gh-18254
2019-09-23 15:42:41 +02:00
Phillip Webb
221ff0ff6d Polish configuration property bean classes
Refactor the `org.springframework.boot.actuate.context` package
with the following changes:

- Deprecate several classes which would ideally be internal

- Replace `ConfigurationBeanFactoryMetadata` with a new
  `ConfigurationPropertiesBean` class to better reflect that we no
  longer maintain meta-data directly.

- Use constructor injection and final fields whenever possible

- Rename `ConfiguraionPropertiesBeanDefinition` to
  `ConfigurationPropertiesValueObjectBeanDefinition` to align
  with the binder changes made in commit 0b3015e4ff

- Add additional tests

Closes gh-16903
2019-09-20 13:42:33 -07:00