Upgrade MicroProfile Health to 3.0
Overview
MicroProfile 4.0 provides a major upgrade for MicroProfile Health 3.0 with changes described in its Release Notes.
This component upgrade also covers the upgrade of smallrye-health 3.0.0 that implements MicroProfile Health 3.0.
Issue Metadata
Issue
Related Issues
Dev Contacts
QE Contacts
-
TODO
Testing By
[X] Engineering [ ] QE
Requirements
-
Upgrade MicroProfile Health to 3.0
-
Upgrade SmallRye Health to 3.0.0
-
Pass all MicroProfile Health tests in WildFly integration test suite
-
Pass the MicroProfile Health 3.0 TCK without failures
-
Adjust the tests to work as needed
-
Adjust QuickStarts to address backward compatibility issues (tracked in WFLY-14398)
Non-Requirements
Implementation Plan
MicroProfile Health 3.0 contains backwards uncompatible changes. However, it only removes deprecated @Health qualifier and renames the HealthCheckResponse state attribute to status. Because of this, this work will take place in a feature branch containing updates to all subsystems that are part of MicroProfile Platform 4.0.
Test Plan
This upgrade does not introduce any changes that requires new tests in WildFly. Testing is covered by the TCK.
-
Existing tests will need updating because of the removal of the @Health qualifier and state/status rename.
-
Run the WildFly integration microprofile test suite and checks there are no failures related to MicroProfile Health tests.
-
Run the
microprofile-tck/health
module from WildFly integration test suite and check that there are no failures.
Community Documentation
-
No community documentation is required for this upgrade
Breaking changes
The reference can be found at https://download.eclipse.org/microprofile/microprofile-health-3.0/microprofile-health-spec-3.0.html#_incompatible_changes.
The breaking changes are:
-
Pruning of deprecated @Health qualifier - no longer supported, replaced with either @Liveness or @Readiness.
-
Rename of
HealthCheckResponse
fieldstate
tostatus
. It is now possible to useHealthCheckResponse
as a deserialization class for instance with the JAX-RS client consumingapplication/json
.