-
Task
-
Resolution: Done
-
Major
-
5.11.3.Final
-
None
The LRA spec supports both JAX-RS and non JAX-RS based participants. The narayana implementation implements the non JAX-RS part as a CDI extension, however CDI extensions are not supported by quarkus, which is one of our target frameworks. To support a quarkus extension for LRA I redid the equivalent of the jandex processing done in the CDI extension (see the class LRACDIExtension) and I was then able to call into the rest of the narayana code to get the non JAX-RS support. This nearly works except that the constructors for LRAParticipantRegistry and LRAParticipant are package private so cannot be invoked from a quarkus extension. Therefore I am creating this task to change the access modifier of the two constructors to public.
Another option would be to rewrite the non JAX-RS support to not require CDI extensions, but the simple change I am proposing (changing the access modifier of the two constructors) is the preferable short to medium term solution.