Search code examples
resteasyspring-data-restquarkus

JaxRsSecurityConfig conflict with quarkus-spring-data-rest and quarkus-resteasy-reactive


I want to use quarkus-resteasy-reactive to take advantage of the new error handling with @ServerExceptionMapper, but I also want to use quarkus-spring-data-rest to use the @RepositoryRestResource annotation.

The problem is that quarkus-spring-data-rest comes packages with quarkus-resteasy, which conflicts with quarkus-resteasy-reactive because they both have JaxRsSecurityConfig.denyJaxRs, resulting in the following error:

Multiple matching properties for name "security.jaxrs.deny-unannotated-endpoints" property was 
matched by both public boolean io.quarkus.resteasy.runtime.JaxRsSecurityConfig.denyJaxRs and 
public boolean io.quarkus.resteasy.reactive.common.runtime.JaxRsSecurityConfig.denyJaxRs. This is 
likely because you have an incompatible combination of extensions that both define the same 
properties (e.g. including both reactive and blocking database extensions)

Has anyone been able to use both of these libraries?


Solution

  • Starting from version 2.3, quarkus-spring-data-rest will be based on RESTEasy Reactive. Until then, the 2 extensions cannot be used together.

    UPDATE

    The change has actually been reverted as it caused other problems. We'll look into reinstating it for 2.4