Skip to content
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

Document guidelines for RESTEasy implementation-agnostic extensions #25481

Closed
knutwannheden opened this issue May 10, 2022 · 4 comments · Fixed by #25494
Closed

Document guidelines for RESTEasy implementation-agnostic extensions #25481

knutwannheden opened this issue May 10, 2022 · 4 comments · Fixed by #25494
Assignees
Labels
Milestone

Comments

@knutwannheden
Copy link
Contributor

Description

RESTEasy Reactive has become very stable and also provides some features unavailable in RESTEasy Classic. For Quarkus extensions it thus makes sense to support both RESTEasy flavors and it would be nice with some documentation on how to implement a RESTEasy flavor-agnostic Quarkus extension.

I am currently in a position where a document like this would be useful. Without having looked into what is necessary to make my RESTEasy Classic specific Quarkus extensions compatible with RESTEasy Reactive, here are some topics that I would expect the document to touch:

  • Can the Quarkus extension in question itself supply any JAX-RS resources?
  • Can the extension use the MP REST Client?
  • Are optional dependencies required for the two RESTEasy implementations or should the extension instead depend on some common module?
  • Are there situations where it would become necessary to create two flavors of the extension?

Implementation ideas

No response

@knutwannheden knutwannheden added the kind/enhancement New feature or request label May 10, 2022
@knutwannheden
Copy link
Contributor Author

/cc @geoand

@geoand
Copy link
Contributor

geoand commented May 11, 2022

Thanks for opening the issue!

A few question before I add the documentation:

Can the Quarkus extension in question itself supply any JAX-RS resources?

I assume you mean that the extension has some JAX-Rs resources in its runtime module and you would like to have them exposed as well?

Can the extension use the MP REST Client?

Can you elaborate on what kind of usage you mean here?

@knutwannheden
Copy link
Contributor Author

I assume you mean that the extension has some JAX-Rs resources in its runtime module and you would like to have them exposed as well?

Yes, that is correct. We do have such extensions with resources using standard JAX-RS annotations (including e.g. @RolesAllowed)

Can the extension use the MP REST Client?

Can you elaborate on what kind of usage you mean here?

We also have extensions which at startup (runtime init) will call some remote REST service to do some kind of registration. Can that then be done using the MP REST Client or would more primitive mechanisms be required due to the Classic / Reactive split?

@geoand
Copy link
Contributor

geoand commented May 11, 2022

#25494 is what I have in mind. Let me know if it answers your questions

geoand added a commit to geoand/quarkus that referenced this issue May 11, 2022
geoand added a commit that referenced this issue May 11, 2022
Add notes about extensions using both RESTEasy flavors
@quarkus-bot quarkus-bot bot added this to the 2.10 - main milestone May 11, 2022
@gsmet gsmet modified the milestones: 2.10 - main, 2.9.1.Final May 12, 2022
gsmet pushed a commit to gsmet/quarkus that referenced this issue May 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants