Ошибка при использовании ответа от Restre из библиотеки реактивных методов RestEasy

#java #quarkus

Вопрос:

Я пытаюсь использовать RestResponselt;Tgt; объект org.jboss.resteasy.reactive при возврате ресурсов моего приложения, так javax.ws.rs.core.Response как он не предоставляет универсальный тип.

Я получаю ошибку, когда вызываю эту конечную точку:

 public RestResponselt;Listlt;SampleResponsegt;gt; findAll() {  return ResponseBuilder.ok(sampleService.findAll()).build(); }  

Ошибка:

 Request failed: java.lang.ClassCastException: class org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl cann ot be cast to class org.jboss.resteasy.reactive.common.jaxrs.RuntimeDelegateImpl (org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl and org.jboss.resteasy.reactive.common.jaxrs.RuntimeDelegateImpl are in unnamed mo dule of loader io.quarkus.bootstrap.classloading.QuarkusClassLoader @3c153a1)  

Мои зависимости в pom.xml:

 lt;dependenciesgt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-hibernate-ormlt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-hibernate-validatorlt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-rest-clientlt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-smallrye-openapilt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-resteasy-reactive-jacksonlt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-liquibaselt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-smallrye-healthlt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-redis-clientlt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-arclt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-rest-client-jacksonlt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-config-yamllt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-junit5lt;/artifactIdgt;  lt;scopegt;testlt;/scopegt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-spring-data-jpalt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;org.projectlomboklt;/groupIdgt;  lt;artifactIdgt;lomboklt;/artifactIdgt;  lt;versiongt;${lombok.version}lt;/versiongt;  lt;scopegt;compilelt;/scopegt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-jdbc-postgresqllt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-spring-weblt;/artifactIdgt;  lt;/dependencygt;  lt;dependencygt;  lt;groupIdgt;io.quarkuslt;/groupIdgt;  lt;artifactIdgt;quarkus-resteasy-reactivelt;/artifactIdgt;  lt;/dependencygt; lt;/dependenciesgt;  

Ответ №1:

Я только что решил эту проблему… Это был порядок иждивенцев. Я переключился quarkus-resteasy-reactive на верхнюю часть, и теперь она работает.

Ответ №2:

С помощью RESTEasy Reactive вы должны использовать quarkus-rest-client-reactive . quarkus-rest-client может привести к некоторым сложным классическим классам, которые конфликтуют с реактивной версией