Commit Graph

1607 Commits (b1d0433d74c18d8117cdd3c360cc8c0d72551766)

Author SHA1 Message Date
Phillip Webb 8481004420 Polish 2 years ago
Johnny Lim 6027508cf7 Polish
See gh-33108
2 years ago
Brian Clozel 932f7d705f Start building against Spring Framework 6.0.0 SNAPSHOTs
See gh-33136
2 years ago
Phillip Webb 3d2071d044 Migrate endpoints to return OperationResponseBody types
Update types returned from endpoints to implement the
`OperationResponseBody` interface. This ensures that they will be
serialized using the isolated actuator `ObjectMapper`.

See gh-20291
2 years ago
Phillip Webb 1f8493fb29 Support isolated actuator ObjectMapper
Add `OperationResponseBody` tagging interface that can be used
to trigger the use of an isolated ObjectMapper specifically for
actuator responses.

The isolated mapper is provided by an `EndpointObjectMapper`
bean which is auto-configured unless specifically disabled
by the user.

WebMVC, WebFlux and Jersey integrations have been updated
to provide a link between the `OperationResponseBody` type
and the endpoint `ObjectMapper`.

See gh-20291
2 years ago
Andy Wilkinson 3a2703e8f6 Upgrade to Jakarta Mail 2.1 and switch to Eclipse Angus RI
Closes gh-33059
Closes gh-33050
2 years ago
Andy Wilkinson b67c427259 Upgrade to Servlet 6.0 and related EE 10 specs
Co-authored-by: Phillip Webb <pwebb@vmware.com>

Closes gh-33036
Closes gh-33037
Closes gh-33038
Closes gh-33039
Closes gh-33040
Closes gh-33041
Closes gh-33042
Closes gh-33043
2 years ago
Phillip Webb 179aa987ee Unify actuator descriptor class names
Update actuator endpoints to consistently use `...Descriptor` for
JSON support classes.

Closes gh-33022
2 years ago
Andy Wilkinson 9472cb2db7 Polish 2 years ago
Andy Wilkinson edecebb641 Upgrade to Neo4j Java Driver 5.2.0
Closes gh-33008
2 years ago
Phillip Webb 9856286a2d Refine actuator httpexhanges naming
See gh-32885
2 years ago
Andy Wilkinson 29f7a596fe Polish 2 years ago
Phillip Webb 3e50836b1a Rename httptrace endpoint and related classes to httpexchanges
Rename `/actuator/httptrace` to `/actuator/httpexchanges` to better
describe its purpose and to remove confusion with distribute tracing.

This change also takes the opportunity to improve the code by making
the `HttpExchange` class (previously `HttpTrace`) fully immutable.

Closes gh-32885

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>
2 years ago
Johnny Lim 5067aab552 Polish
See gh-32840
2 years ago
Phillip Webb a59b6cb1f3 Polish 2 years ago
Phillip Webb 4be3218cb6 Merge branch '2.7.x' 2 years ago
Phillip Webb c8676a81de Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb d7ac20cd6c Update copyright year of changed files 2 years ago
Andy Wilkinson 99edda735e Polish 2 years ago
Andy Wilkinson b7fb345709 Revert workaround for multiple ImportRuntimeHints
Closes gh-32830
2 years ago
Johnny Lim fc61690675 Add missing @Test to sanitizeLists()
See gh-32792
2 years ago
Sébastien Deleuze 4e131bd627 Provide a workaround to allow multiple @ImportRuntimeHints
Provide a workaround for spring-projects/spring-framework#29361 so
that multiple `@ImportRuntimeHints` can be used in a type hierarchy.

The commit should cover Actuator web endpoint use cases with the
exception of Cloud Foundry endpoints which are not possible due to
package access issues.

See gh-29361
2 years ago
Brian Clozel 685fa900f8 Auto-configure Observation instrumentation for WebFlux
Prior to this commit, Spring Boot would offer a specific Metrics
instrumentation for WebFlux applications through a `WebFilter` and
custom Tag providers.

As of Spring Framework 6.0, the Observation instrumentation is done
directly in WebFlux, also with a `WebFilter`. While this allows both
metrics and traces, some features cannot be supported in the same way
with this new infrastructure.
The former `WebFilter` has been removed and the Tagging infrastructure
deprecated in favor of custom Observation conventions. This commit
provides an adapter layer so that developers can refactor their custom
tagging solution to the convention way, during the deprecation phase,
without losing any feature.

Closes gh-32539
2 years ago
Brian Clozel 9948fc3e39 Use GraphQL Observation instrumentation
This commit migrates the existing metrics support (added in #29140) to
the new `Observation` instrumentation contributed in
spring-projects/spring-graphql#501.

We cannot have a smoother migration path here as the instrumentation
does not use the same context information for metadata extraction.

Closes gh-32794
2 years ago
Madhura Bhave ce3c933f77 Adapt to Spring Security changes
Closes gh-32604
2 years ago
Brian Clozel b2fe807d47 Move MVC metrics to Observation auto-configuration
This commit moves the entire Metrics auto-configuration for Spring MVC
to the new `Observation` API and the instrumentation contributed in
Spring Framework.

Closes gh-32538
2 years ago
Phillip Webb 07dd388b58 Merge branch '2.7.x'
Closes gh-32776
2 years ago
Phillip Webb 8dec296dfd Merge branch '2.6.x' into 2.7.x
Closes gh-32775
2 years ago
Phillip Webb de111dba5c Polish 'Add DataSize serializer for configprops endpoint'
See gh-32645
2 years ago
Guirong Hu 3b25132e38 Add DataSize serializer for configprops endpoint
See gh-32645
2 years ago
Phillip Webb e3df6c5b6f Move @ConstructorBinding annotation and support add default support
Relocate `@ConstructorBinding` from the `boot.context.properties`
package to `boot.context.properties.bind` and update the
`DefaultBindConstructorProvider` to support it.

Closes gh-32660
2 years ago
Brian Clozel 5cee828546 Fix javadoc warnings in HTTP Observation support 2 years ago
Brian Clozel cbca457eff Adapt to HTTP Observation changes in Framework
This commit adapts to the renames/package changes in the HTTP
Observation support in Spring Framework.

See spring-projects/spring-framework#29334
2 years ago
Andy Wilkinson 7852c45a77 Generate reflection hints for loggers endpoint's responses
Some of the types that are returned are hidden behind a
Map<String, Object> so the operation annotations already been marked
as reflective isn't sufficient.

This commit uses `@RegisterReflectionForBinding` to register the
types that are used as (nested) values in the response maps.

Closes gh-32486
2 years ago
Stephane Nicoll cbf24bd1cd Upgrade to Elasticsearch Client 8.4.3
Closes gh-32671
2 years ago
Johnny Lim 73fd760137 Polish HTTP client observability changes
See gh-32484
See gh-32518

Closes gh-32636
2 years ago
Brian Clozel d25fc73dae Upgrade to Neo4J Java Driver 5.0.0
Closes gh-32620
2 years ago
Andy Wilkinson 7c4e46e538 Allow thread dump endpoint to call ThreadMXBean in a native image
Closes gh-31680
2 years ago
Phillip Webb e0b67889a8 Use Stream.toList instead of Stream.collect when possible
Update code to make use of `Stream.toList()` whenever possible.

Closes gh-28177
2 years ago
Andy Wilkinson 51df7813a5 Remove code deprecated in 2.x and add since and forRemoval attributes
Closes gh-32548
Closes gh-32549
2 years ago
Brian Clozel 5b092f5d80 Polish
See gh-32518
2 years ago
Brian Clozel ceb1e5d223 Polish
See gh-32518
2 years ago
Brian Clozel 8b4a20d6cd Use Observation infrastructure for instrumenting WebClient
As of spring-projects/spring-framework#28341, `WebClient` is
instrumented directly for `Observation`.
This commit removes the custom `ExchangeFilterFunction` that previously
instrumented the client for metrics.

As a result, the relevant tag providers are now deprecated and adapted
as `ObservationConvention` for the time being.

Closes gh-32518
2 years ago
Brian Clozel eac50a8f0c Auto-configure Observation support for RestTemplate
Prior to this commit, Spring Boot would auto-configure a customizer that
instruments `RestTemplate` through a `RestTemplateBuilder`. This would
install a request interceptor that instrumented client exchanges for
producing metrics.

As of spring-projects/spring-framework#28341, the instrumentation is
done at the `RestTemplate` level directly using the `Observation` API.
The `Tag` (now `KeyValue`) extraction, observation name and
instrumentation behavior now lives in the Spring Framework project.

This commit updates the auto-configuration to switch from Boot-specific
Metrics instrumentation to a generic Observation instrumentation.
As a migration path, some configuration properties are deprecated in
favor of the new `management.observations.*` namespace.

Closes gh-32484
2 years ago
Stephane Nicoll bac1bfcd1c Merge branch '2.7.x'
Closes gh-32514
2 years ago
Stephane Nicoll eb4b0a3f3c Merge branch '2.6.x' into 2.7.x
Closes gh-32513
2 years ago
Stephane Nicoll 8f598f876b Polish "Use non-blocking API in CouchbaseReactiveHealthIndicator"
See gh-32505
2 years ago
Mico Piira f51c4c3df0 Use non-blocking API in CouchbaseReactiveHealthIndicator
See gh-32505
2 years ago
Andy Wilkinson 5cb68eab1e Remove HotSpot specifics from HeapDumper strategy interface
Closes gh-27533
2 years ago
Madhura Bhave b44a7e242c Support Mongo's Stable API in MongoHealthIndicator
Closes gh-30849
2 years ago
Stephane Nicoll 26cec61f32 Adapt to API change in Spring Framework
See https://github.com/spring-projects/spring-framework/issues/29135
2 years ago
Andy Wilkinson aafceb3868 Merge branch '2.7.x'
Closes gh-32285
2 years ago
Andy Wilkinson f17df7bf30 Merge branch '2.6.x' into 2.7.x
Closes gh-32284
2 years ago
Andy Wilkinson 23c2f73b3f Update tests to allow them to run on Java 19
Closes gh-32280
2 years ago
Phillip Webb 46be4a3f30 Merge branch '2.7.x' 2 years ago
Johnny Lim 2273191c03 Polish
See gh-32215
2 years ago
Andy Wilkinson 25e6c533d9 Polish "Add path to DiskSpaceHealthIndicator's details and log message"
See gh-31998
2 years ago
rreich 36f9230f01 Add path to DiskSpaceHealthIndicator's details and log message
See gh-31998
2 years ago
Andy Wilkinson 795ea289db Adapt to BindingReflectionHintsRegistrar moving package 2 years ago
Andy Wilkinson cf8e84d406 Adapt to BindingReflectionHintsRegistrar moving into spring-core 2 years ago
Phillip Webb 44f1949c5e Polish hint API calls 2 years ago
Madhura Bhave 47effdcade Support role-based sanitization for actuator endpoints
Closes gh-32156
2 years ago
Stephane Nicoll 24a52aa66d Annotate actuator internal infrastructure with @Reflective
This commit simplifies the registration of hints for the infrastructure
of the Actuator that is invoked via reflection.
2 years ago
Stephane Nicoll 6d2d67b0bc Merge branch '2.7.x'
Closes gh-32050
2 years ago
Vedran Pavic 0e6cf07ec9 Polish LogFileWebEndpoint
See gh-32049
2 years ago
Andy Wilkinson ba93e6c0ed Restore support for Jersey
Closes gh-28637
2 years ago
Madhura Bhave 0991bd3983 Harmonize data configuration
Any classes that rely on Spring Data being on the classpath
have been moved under a data package.

Certain configuration properties have also been updated to
accurately reflect whether Spring Data is required for the
auto-configuration to work.

Closes gh-11574
2 years ago
Johnny Lim 6a4681baf5 Polish
See gh-31948
2 years ago
Brian Clozel 38f1bc9793 Reinstate Spring for GraphQL auto-configuration
This commit adds the Spring for GraphQL auto-configuration back
into Spring Boot 3.0, now that a 1.1.0 release is scheduled with the
required baseline. This release also needs GraphQL Java 19.0 as a
baseline.

Closes gh-31809
2 years ago
Phillip Webb 22144987e9 Update copyright year of changed files 2 years ago
Phillip Webb e08c16dfd6 Polish 2 years ago
Phillip Webb b68e43f5fd Merge branch '2.7.x' 2 years ago
Phillip Webb 2382e8322b Merge branch '2.6.x' into 2.7.x 2 years ago
Phillip Webb 2709f77ab9 Collect to named contributors to `LinkedHashMap`
Update `NamedContributorsMapAdapter` to collect items to a
`LinkedHashMap` rather than a `HashMap`.

See gh-31676
2 years ago
Stephane Nicoll c413f9adbe Merge branch '2.7.x'
Closes gh-31884
2 years ago
Stephane Nicoll 53a652ec65 Merge branch '2.6.x' into 2.7.x
Closes gh-31883
2 years ago
Stephane Nicoll 9cb614c626 Migrate Hazelcast 3 sanity tests to Hazelcast 4
Closes gh-31881
2 years ago
Adrian Bob aad9c8906a Disable auto-detection in tests that start Hazelcast
This commit updates test configurations to disable auto-detection of
Hazelcast instances.

See gh-31863
2 years ago
Stephane Nicoll 782e3f75b6 Polish Hazelcast configuration
This commit updates the XSD to 4.2 and removes the "tcp-ip" network
option as it is disabled by default.

See gh-31863
2 years ago
Phillip Webb 94ca5b5b53 Merge branch '2.7.x'
Closes gh-31880
2 years ago
Phillip Webb bfc703a40d Merge branch '2.6.x' into 2.7.x
Closes gh-31879
2 years ago
Phillip Webb 59c9a9cd8a Polish "Call the value adapter during NamedContributorsMapAdapter construction"
See gh-31676
2 years ago
Guirong Hu c530f12cc3 Call the value adapter during NamedContributorsMapAdapter construction
Update `NamedContributorsMapAdapter` so that the adapter function is
called only once per entry. Prior to this commit, the adapter was called
dynamically which made `CompositeHealthContributor` behave differently
from a regular `HealthContributor`.

See gh-31676
2 years ago
Phillip Webb 7377d85096 Merge branch '2.7.x'
Closes gh-31866
2 years ago
Phillip Webb a4ef6a7c5c Merge branch '2.6.x' into 2.7.x
Closes gh-31865
2 years ago
Phillip Webb f8412847dc Update copyright year for "Fix typos in code and documentation"
See gh-31734
2 years ago
Marc Wrobel dbfc6bded4 Fix typos in code and documentation
See gh-31734
2 years ago
Vedran Pavic f1bf80f5e1 Upgrade to Flyway 9.0.1
See gh-31723
2 years ago
Andy Wilkinson 1acc7857e6 Merge branch '2.7.x'
Closes gh-31807
2 years ago
Andy Wilkinson 84efc89d76 Merge branch '2.6.x' into 2.7.x
Closes gh-31806
2 years ago
Andy Wilkinson bcbe072d96 Fix 500 from mappings endpoint with attributed WebFlux router function
Closes gh-31784
2 years ago
Andy Wilkinson f29eed89ca Reinstate merge of pull request #31713 from dreis2211
This reverts commit 8deef6cb42.
2 years ago
Andy Wilkinson 8deef6cb42 Revert "Merge pull request #31713 from dreis2211"
This reverts commit 590bfd8a5c, reversing
changes made to 993e1bf5f2.
2 years ago
Andy Wilkinson 5c057a2730 Auto-configure the new Elasticsearch clients
This commit introduces auto-configuration for the new Elasticsearch
clients that are based upon their new Java client. The new Java
client builds on top of their existing low-level REST client,
replacing the high-level REST client which has been deprecated.
As part of introducing support for the new Elasticsearch client,
the auto-configuration for the templates (both imperative and
reactive) provided by Spring Data has also been updated to use the
new templates that build upon the new Java client.

As part of these changes, support for the high-level REST client and
the old Spring Data Elasticsearch templates has been removed. One
significant change is that the new reactive template is no longer
based on WebClient. As a result, the WebClient-specific configuration
property has been removed.

Closes gh-30647
Closes gh-28597
Closes gh-31755
2 years ago
Moritz Halbritter 0291388f2a Polish 2 years ago
Moritz Halbritter 13c920b2a9 Add AOT support for ReactiveHealthEndpointWebExtension
See gh-31530
2 years ago
Stephane Nicoll 51cba6ec72 Polish "Add AOT support for actuator"
See gh-31671
2 years ago
Moritz Halbritter 584b7d1343 Add AOT support for actuator
Mainly adds reflection hints for the actuator infrastructure.
Also adds the OperationReflectiveProcessor, which registers the
@ReadMethod, @DeleteMethod and @WriteMethod annotated methods for
reflection and adds reflection hints for method return types.

See gh-31671
2 years ago
dreis2211 5adccb7857 Fix deprecations in javadocs
See gh-31713
2 years ago
Andy Wilkinson 3405a54f9e Exclude Jetty toolchain dependencies in favor of official API artifacts
Closes gh-31720
2 years ago