Menggunakan Quarkus saya mendapatkan kesalahan berikut pada waktu eksekusi:

Disebabkan oleh: java.lang.IllegalArgumentException: Beberapa properti yang cocok untuk properti nama "security.jaxrs.deny-unannotated-endpoints" cocok dengan boolean publik io.quarkus.resteasy.reactive.common.runtime.JaxRsSecurityConfig.denyJaxRs dan boolean publik io.quarkus.resteasy.runtime.JaxRsSecurityConfig.denyJaxRs. Ini kemungkinan karena Anda memiliki kombinasi ekstensi yang tidak kompatibel yang keduanya menentukan properti yang sama (misalnya, termasuk ekstensi database reaktif dan pemblokiran)

Properti pom saya adalah:

<compiler-plugin.version>3.8.1</compiler-plugin.version>
<maven.compiler.parameters>true</maven.compiler.parameters>
<maven.compiler.source>12</maven.compiler.source>
<maven.compiler.target>12</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<quarkus-plugin.version>1.13.3.Final</quarkus-plugin.version>
<quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
<quarkus.platform.version>1.13.3.Final</quarkus.platform.version>

Dan dependensi:

  <dependencies>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-mutiny</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-vertx</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy-jsonb</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy-mutiny</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy-reactive</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-rest-client-reactive</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-smallrye-jwt</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-smallrye-jwt-build</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-jdbc-postgresql</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-arc</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-junit5</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>rest-assured</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

Saya hanya mencoba streaming menggunakan Multi dari pemberontakan dan Elemen Terkirim Server:

@GET
@Produces(MediaType.SERVER_SENT_EVENTS)
@RestSseElementType(MediaType.TEXT_PLAIN)
@Path("/stream/{count}/{name}")
public Multi<String> greetingsAsStream(int count, String name) {
    return service.greetings(count, name);
}
0
Daniel Sobrado 12 Mei 2021, 13:46

1 menjawab

Jawaban Terbaik

Anda memiliki RESTEasy klasik (quarkus-resteasy-jsonb, quarkus-resteasy-mutiny) dan RESTEasy Reactive (quarkus-resteasy-reactive). Anda harus memilih satu dan menaatinya.

Misalnya, jika Anda ingin RESTEasy Reactive, Anda harus menghapus quarkus-resteasy-mutiny (tidak perlu ketergantungan ekstra dengan RESTEasy Reactive), dan mengganti quarkus-resteasy-jsonb dengan quarkus-resteasy-reactive-jsonb.

1
Ladicek 12 Mei 2021, 12:45