Skip to content

Conversation

@peteroyle
Copy link
Contributor

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 elide-core. This leads to a couple of build-time warnings about indexing certain Elide classes, but I couldn't find a more specific way to prevent the standard Jax-RS resource classes from being exposed at their default @path("/") paths.
  • 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 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 this change preventing 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.

Peter Royle added 3 commits October 17, 2025 22:12
…dency. Instead, generate elide JAX-RS endpoints dynamically according to the configured path. Renamed path config properties to match standalone.
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