This commit improves the Hazelcast health indicator to fail if the
Lifecycle manager indicates that the instance is no longer running.
This is needed because when the default Out-Of-Memory handler in
Hazelcast detects a OOM error, and terminates Hazelcast, it does so on
the node but not via the Hazelcast lifecycle manager - and the results
is that it is still possible to successfully execute transactions in
Hazelcast after this termination. The health indicator should not report
UP after Hazelcast has detected an OOM and terminated itself.
See gh-46877
Signed-off-by: Tommy Karlsson <tommy.karlsson@leovegas.com>
Introduce @EnabledOnLocale annotation to enable or disable tests
based on the system's default locale.
See gh-46211
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
The SslHealthIndicator constructor previously did not validate if the
provided SslInfo instance was null. This could potentially lead to a
NullPointerException later when the doHealthCheck method is invoked
if the SslInfo bean was not properly configured or available.
This commit adds an Assert.notNull check for the sslInfo parameter
to ensure fail-fast behavior during application startup or bean
creation. This aligns with the common practice in other Spring Boot
components and health indicators where essential dependencies are
validated in the constructor.
See gh-45013
Signed-off-by: geniuus <cross_man@naver.com>
Add new methods to `QuartzEndpoint` and `QuartzEndpointWebExtension`
to allow a Quartz job to be triggered on demand.
See gh-43086
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Actuator endpoints should only declare simple type in the signature
of an operation. In particular, nested types are not supported. While
this is enforced in Spring MVC and Spring Webflux, the Jersey
implementation leniently allowed to bind such types prior to this
commit.
This commit adapts the expectation in the Jersey implementation so that
it rejects such request as well.
Closes gh-43209
This commit reworks the support for enabling and disabling endpoints,
replacing the on/off support that it provided with a finer-grained
access model that supports only allowing read-only access to endpoint
operations in addition to disabling an endpoint (access of none) and
fully enabling it (access of unrestricted).
The following properties are deprecated:
- management.endpoints.enabled-by-default
- management.endpoint.<id>.enabled
Their replacements are:
- management.endpoints.access.default
- management.endpoint.<id>.access
Similarly, the enableByDefault attribute on @Endpoint has been
deprecated with a new defaultAccess attribute replacing it.
Additionally, a new property has been introduced that allows an
operator to control the level of access to Actuator endpoints
that is permitted:
- management.endpoints.access.max-permitted
This property caps any access that may has been configured for
an endpoint. For example, if
management.endpoints.access.max-permitted is set to read-only and
management.endpoint.loggers.access is set to unrestricted, only
read-only access to the loggers endpoint will be allowed.
Closes gh-39046
Add `toAdditionalPaths(...)` methods on the servlet and reactive
`EndpointRequest` classes to support matching of additional paths.
A new `AdditionalPathsMapper` interface provides the mappings between
endpoint IDs and any additional paths that they might use. The existing
`AutoConfiguredHealthEndpointGroups` class has been updated to implement
the interface.
Auto-configurations have also been updated so that additional health
endpoint paths (typically `/livez` and `/readyz`) are permitted
when using Spring Security without any custom configuration.
Fixes gh-40962