-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[640][WFLY-19866] Add an analysis document for promoting the MicroPro… #641
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
--- | ||
categories: | ||
- microprofile | ||
- jaxrs | ||
stability-level: default | ||
issue: https://github.com/wildfly/wildfly-proposals/issues/640 | ||
feature-team: | ||
developer: jamezp | ||
sme: | ||
- jamezp | ||
outside-perspective: | ||
- TBD | ||
promotes: https://issues.redhat.com/browse/WFLY-19866 | ||
promoted-by: https://github.com/wildfly/wildfly-proposals/issues/640 | ||
--- | ||
= Promote MicroProfile REST Client 4.0 from Preview to Default Stability Level | ||
:author: James R. Perkins | ||
:email: jperkins@redhat.com | ||
:toc: left | ||
:icons: font | ||
:idprefix: | ||
:idseparator: - | ||
|
||
== Overview | ||
|
||
This document is about promoting the http://download.eclipse.org/microprofile/microprofile-rest-client-4.0/microprofile-rest-client-spec-4.0.html[MicroProfile REST Client 4.0] | ||
from a stability level of `preview` to a stability level of `default`. | ||
|
||
As you'll see in the release notes below, not much was added to the MicroProfile REST Client 4.0 API. There are only two | ||
new methods added to the `RestClientBuilder` API. | ||
|
||
=== User Stories | ||
|
||
A user wants to use the MicroProfile REST Client version 4.0 or use MicroProfile Platform 7.0. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you please elaborate how users can benefit from new features brought by new REST Client? |
||
|
||
== Issue Metadata | ||
|
||
=== Related Issues | ||
|
||
* https://issues.redhat.com/browse/WFLY-19866[WFLY-19866] - Promotion from `preview` to `default` | ||
* https://issues.redhat.com/browse/WFLY-19589[WFLY-19589] - Integration of MicroProfile REST Client 4.0 into WildFly Preview | ||
* https://issues.redhat.com/browse/WFLY-19588[WFLY-19588] - MicroProfile Platform 7.0 | ||
|
||
=== Affected Projects or Components | ||
|
||
* https://github.com/wildfly/wildfly | ||
|
||
=== Other Interested Projects | ||
|
||
Any project wanting either the MicroProfile REST Client version 4.0 or MicroProfile Platform 7.0. | ||
|
||
=== Relevant Installation Types | ||
|
||
* Traditional standalone server (unzipped or provisioned by Galleon) | ||
* Managed domain | ||
* OpenShift Source-to-Image (S2I) | ||
* Bootable jar | ||
|
||
== Requirements | ||
|
||
The MicroProfile REST Client API and the RESTEasy MicroProfile implementation must be upgraded to be compliant with the | ||
https://download.eclipse.org/microprofile/microprofile-7.0/microprofile-spec-7.0.html[MicroProfile 7.0 Specification]. | ||
|
||
There are no specific integration requirements as this is about upgrading an API and implementation. | ||
|
||
=== Changed requirements | ||
|
||
The only change here is migrating from the MicroProfile REST Client 3.0 API to the MicroProfile REST Client 4.0 API and | ||
RESTEasy MicroProfile 2.1 to RESTEasy MicroProfile 3.0. | ||
|
||
=== Non-Requirements | ||
|
||
N/A | ||
|
||
=== Future Work | ||
|
||
N/A | ||
|
||
== Backwards Compatibility | ||
|
||
There are no backwards compatibility issues. The new API has only added two new methods to the `RestClientBuilder` API. | ||
|
||
=== Default Configuration | ||
|
||
There are currently no configuration options for the integration and no new ones will be added. | ||
|
||
=== Importing Existing Configuration | ||
|
||
There is no issue using a current WildFly configuration with this change. | ||
|
||
=== Deployments | ||
|
||
There is no incompatible changes to the API or implementation. Deployments will simply see the newer versions available | ||
on their class path. | ||
|
||
=== Interoperability | ||
|
||
N/A | ||
|
||
== Implementation Plan | ||
|
||
The implementation plan is to simply upgrade versions of the required components. | ||
|
||
One note is that TCK POM configuration needed some changes. However, that is only for testing. | ||
|
||
== Admin Clients | ||
|
||
This change has no affect on admin clients. There are no model changes. | ||
|
||
== Security Considerations | ||
|
||
There would be no changes to security considerations for this upgrade. | ||
|
||
[[test_plan]] | ||
== Test Plan | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @jamezp Can you please update this section based on the template? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not too sure what is needed TBH. We don't really have any tests in WildFly short of the TCK and other tests using the MP REST Client. There is no subsystem configuration or anything. Do we want to add a bunch of tests? If we do, that might take some time. |
||
|
||
The test plan here is to mostly rely on the MicroProfile REST Client TCK. There are TCK tests for all new features and | ||
some new TCK tests that were previously missed in the last TCK release. | ||
|
||
Some of the other MicroProfile TCK's and integration tests use the the MicroProfile REST Client. Some indirect testing | ||
will happen there as well. | ||
|
||
== Community Documentation | ||
|
||
There seems to be no documentation for the MicroProfile REST Client short of noting the version. The version matrix | ||
documentation will be updated. | ||
|
||
== Release Note Content | ||
|
||
In this release there was an alignment with https://jakarta.ee/specifications/restful-ws/3.1/jakarta-restful-ws-spec-3.1[Jakarta RESTful Web Services 3.1] | ||
to be compatible with Jakarta EE 10. | ||
|
||
* There was a clarification about closing the REST client when being injected via CDI (https://github.com/eclipse/microprofile-rest-client/issues/348[348]). | ||
* The RestClientBuilder added a new method, baseUri(String) (https://github.com/eclipse/microprofile-rest-client/issues/334[334]). | ||
* The RestClientBuilder also added a new header(String, Object) method for adding headers to the built REST Client. The headers will be merged with headers added via other means (https://github.com/eclipse/microprofile-rest-client/issues/283[283]). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://microprofile.io/specifications/rest-client/4-0/
What about
There was a clarification about closing the REST client when being injected via CDI
? Is there some change in our implementation because of this?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, there is no change in our implementation for that. This was changed in resteasy-microprofile in resteasy/resteasy-microprofile#50. This issue arrived because of this fix.