Skip to content

Conversation

@peteroyle
Copy link
Contributor

@peteroyle peteroyle commented Oct 23, 2025

Resolves #3390

Description

This change:

  • Upgrades Quarkus to 3.20 LTS (the last LTS to still use Hibernate 6)
  • Switches from RestEasy Classic to RestEasy Reactive
  • Changes the way the Jax-RS resource endpoint paths are customised. Since the ResteasyDeploymentCustomizerBuildItem (from RestEasy Classic) is no longer available, we now use Gizmo to generate bytecode during the build for each of the enabled endpoints (generating a subclass of each endpoint, with a modified @Path.value). We prevent the existing JAX-RS endpoints from being automatically scanned and deployed by no longer indexing the whole elide-core dependency. This lead to a couple of build-time warnings about indexing certain Elide classes, which were solved by the new indexElideClasses method which uses the AdditionalIndexedClassesBuildItem producer to index only the specific Elide classes mentioned in the warning.
  • As demonstrated by the change to ElideExtensionTest.java, the JsonAPI endpoint used to be deployed both at "/" and at the customised path. This change fixes that.
  • Changes the names of the config properties to be in line with the ones in the Elide Standalone config documentation section

I would be willing to add a Configuration > Quarkus > Settings section to the documentation, provided it's not too soon to be publicising or committing to this extension in that way.

Motivation and Context

Keeping pace with Quarkus development, and focussing on the non-deprecated rest mode going forward.

How Has This Been Tested?

Existing tests pass. Where necessary they were modified in response to the fact that this change now prevents multiple instances of the JsonAPI endpoint from being deployed.
I've also upgraded a few internal projects of mine to this version and they all work as expected.

License

I confirm that this contribution is made under an Apache 2.0 license and that I have the authority necessary to make this contribution on behalf of its copyright owner.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support RestEasy reactive for Quarkus extension

1 participant