瀏覽代碼

Upgrading to Quarkus 2.14.0.Final (#7681)

* Upgrade to Quarkus 2.14.0.Final

* No longer need to disable Context Propagation

* ServerHeaderFilter: adapt to latest Quarkus and align between modules
Sanne Grinovero 2 年之前
父節點
當前提交
662fe356c2

+ 1 - 6
frameworks/Java/quarkus/pom.xml

@@ -8,7 +8,7 @@
     <packaging>pom</packaging>
 
     <properties>
-        <quarkus.version>2.9.1.Final</quarkus.version>
+        <quarkus.version>2.14.0.Final</quarkus.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <maven.compiler.source>11</maven.compiler.source>
         <maven.compiler.target>11</maven.compiler.target>
@@ -23,11 +23,6 @@
 
     <dependencyManagement>
         <dependencies>
-            <dependency>
-                <groupId>org.hibernate.reactive</groupId>
-                <artifactId>hibernate-reactive-core</artifactId>
-                <version>1.1.6.Final</version>
-            </dependency>
             <dependency>
                 <groupId>io.quarkus</groupId>
                 <artifactId>quarkus-benchmark-common</artifactId>

+ 0 - 4
frameworks/Java/quarkus/resteasy-hibernate/src/main/resources/application.properties

@@ -29,9 +29,5 @@ quarkus.hibernate-orm.second-level-caching-enabled=false
 quarkus.hibernate-orm.database.generation=validate
 quarkus.hibernate-orm.log.sql=false
 
-mp.context.ThreadContext.propagated=None
-mp.context.ThreadContext.cleared=None
-mp.context.ThreadContext.unchanged=Remaining
-
 
 

+ 3 - 4
frameworks/Java/quarkus/resteasy-reactive-hibernate-reactive/src/main/java/io/quarkus/benchmark/filter/ServerHeaderFilter.java

@@ -4,22 +4,20 @@ import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
 
 import javax.annotation.PostConstruct;
-import javax.inject.Singleton;
 
-import io.vertx.core.MultiMap;
 import org.jboss.resteasy.reactive.server.ServerResponseFilter;
 
 import io.quarkus.scheduler.Scheduled;
+import io.vertx.core.MultiMap;
 import io.vertx.core.http.HttpHeaders;
 import io.vertx.core.http.HttpServerResponse;
 
-@Singleton
 public class ServerHeaderFilter {
 
     private static final CharSequence SERVER_HEADER_NAME = HttpHeaders.createOptimized("Server");
     private static final CharSequence SERVER_HEADER_VALUE = HttpHeaders.createOptimized("Quarkus");
     private static final CharSequence DATE_HEADER_NAME = HttpHeaders.createOptimized("Date");
-    
+
     private volatile CharSequence date;
 
     @PostConstruct
@@ -38,4 +36,5 @@ public class ServerHeaderFilter {
         headers.add(SERVER_HEADER_NAME, SERVER_HEADER_VALUE);
         headers.add(DATE_HEADER_NAME, date);
     }
+
 }

+ 0 - 6
frameworks/Java/quarkus/resteasy-reactive-hibernate-reactive/src/main/java/io/quarkus/benchmark/resource/DbResource.java

@@ -16,9 +16,7 @@ import org.hibernate.reactive.mutiny.Mutiny;
 
 import io.quarkus.benchmark.model.World;
 import io.quarkus.benchmark.repository.WorldRepository;
-import io.smallrye.context.api.CurrentThreadContext;
 import io.smallrye.mutiny.Uni;
-import org.eclipse.microprofile.context.ThreadContext;
 
 @Produces(MediaType.APPLICATION_JSON)
 @Path("/")
@@ -29,14 +27,12 @@ public class DbResource {
 
     @GET
     @Path("db")
-    @CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
     public Uni<World> db() {
         return worldRepository.findStateless();
     }
 
     @GET
     @Path("queries")
-    @CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
     public Uni<List<World>> queries(@QueryParam("queries") String queries) {
         final int queryCount = parseQueryCount(queries);
         return worldRepository.findStateless(queryCount);
@@ -44,7 +40,6 @@ public class DbResource {
 
     @GET
     @Path("createData")
-    @CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
     public Uni<Void> createData() {
         return worldRepository.createData();
     }
@@ -55,7 +50,6 @@ public class DbResource {
 
     @GET
     @Path("updates")
-    @CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
     public Uni<List<World>> updates(@QueryParam("queries") String queries) {
         return worldRepository.inSession(session -> {
 

+ 0 - 3
frameworks/Java/quarkus/resteasy-reactive-hibernate-reactive/src/main/java/io/quarkus/benchmark/resource/FortuneResource.java

@@ -2,11 +2,9 @@ package io.quarkus.benchmark.resource;
 
 import io.quarkus.benchmark.model.Fortune;
 import io.quarkus.benchmark.repository.FortuneRepository;
-import io.smallrye.context.api.CurrentThreadContext;
 import io.smallrye.mutiny.Uni;
 import io.vertx.core.buffer.Buffer;
 import io.vertx.ext.web.templ.rocker.impl.VertxBufferOutput;
-import org.eclipse.microprofile.context.ThreadContext;
 
 import javax.inject.Inject;
 import javax.ws.rs.GET;
@@ -24,7 +22,6 @@ public class FortuneResource  {
 
     @Produces("text/html; charset=UTF-8")
     @GET
-    @CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
     public Uni<Buffer> fortunes() {
         return repository.findAll()
                 .map(fortunes -> {

+ 0 - 3
frameworks/Java/quarkus/resteasy-reactive-hibernate-reactive/src/main/java/io/quarkus/benchmark/resource/JsonResource.java

@@ -6,8 +6,6 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 
 import io.smallrye.common.annotation.NonBlocking;
-import io.smallrye.context.api.CurrentThreadContext;
-import org.eclipse.microprofile.context.ThreadContext;
 
 @Path("/json")
 public class JsonResource  {
@@ -16,7 +14,6 @@ public class JsonResource  {
 
     @Produces(MediaType.APPLICATION_JSON)
     @GET
-    @CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
     @NonBlocking
     public Message json() {
         // https://github.com/TechEmpower/FrameworkBenchmarks/wiki/Project-Information-Framework-Tests-Overview#json-serialization

+ 0 - 3
frameworks/Java/quarkus/resteasy-reactive-hibernate-reactive/src/main/java/io/quarkus/benchmark/resource/PlaintextResource.java

@@ -10,9 +10,7 @@ import javax.ws.rs.core.MediaType;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufAllocator;
 import io.smallrye.common.annotation.NonBlocking;
-import io.smallrye.context.api.CurrentThreadContext;
 import io.vertx.core.buffer.Buffer;
-import org.eclipse.microprofile.context.ThreadContext;
 
 @Path("/plaintext")
 public class PlaintextResource {
@@ -27,7 +25,6 @@ public class PlaintextResource {
 
     @Produces(MediaType.TEXT_PLAIN)
     @GET
-    @CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
     @NonBlocking
     public Buffer plaintext() {
         return HELLO_WORLD_BUFFER;

+ 0 - 3
frameworks/Java/quarkus/resteasy-reactive-hibernate-reactive/src/main/resources/application.properties

@@ -24,6 +24,3 @@ quarkus.log.level=INFO
 
 quarkus.vertx.prefer-native-transport=true
 
-mp.context.ThreadContext.propagated=None
-mp.context.ThreadContext.cleared=None
-mp.context.ThreadContext.unchanged=Remaining

+ 19 - 17
frameworks/Java/quarkus/resteasy-reactive-hibernate/src/main/java/io/quarkus/benchmark/filter/ServerHeaderFilter.java

@@ -4,35 +4,37 @@ import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
 
 import javax.annotation.PostConstruct;
-import javax.inject.Singleton;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.ext.Provider;
+
+import org.jboss.resteasy.reactive.server.ServerResponseFilter;
 
 import io.quarkus.scheduler.Scheduled;
+import io.vertx.core.MultiMap;
+import io.vertx.core.http.HttpHeaders;
+import io.vertx.core.http.HttpServerResponse;
+
+public class ServerHeaderFilter {
 
-@Singleton
-@Provider
-public class ServerHeaderFilter implements ContainerResponseFilter {
+    private static final CharSequence SERVER_HEADER_NAME = HttpHeaders.createOptimized("Server");
+    private static final CharSequence SERVER_HEADER_VALUE = HttpHeaders.createOptimized("Quarkus");
+    private static final CharSequence DATE_HEADER_NAME = HttpHeaders.createOptimized("Date");
 
-    private volatile String date;
+    private volatile CharSequence date;
 
     @PostConstruct
     public void init() {
-        date = DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now());
+        date = HttpHeaders.createOptimized(DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now()));
     }
 
     @Scheduled(every="1s")
     void increment() {
-        date = DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now());
+        date = HttpHeaders.createOptimized(DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now()));
     }
 
-    @Override
-    public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) {
-        final MultivaluedMap<String, Object> headers = responseContext.getHeaders();
-        headers.add( "Server", "Quarkus");
-        headers.add( "Date", date);
+    @ServerResponseFilter
+    public void filter(HttpServerResponse response) {
+        MultiMap headers = response.headers();
+        headers.add(SERVER_HEADER_NAME, SERVER_HEADER_VALUE);
+        headers.add(DATE_HEADER_NAME, date);
     }
+
 }

+ 0 - 3
frameworks/Java/quarkus/resteasy-reactive-hibernate/src/main/java/io/quarkus/benchmark/resource/PlaintextResource.java

@@ -3,9 +3,7 @@ package io.quarkus.benchmark.resource;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufAllocator;
 import io.smallrye.common.annotation.NonBlocking;
-import io.smallrye.context.api.CurrentThreadContext;
 import io.vertx.core.buffer.Buffer;
-import org.eclipse.microprofile.context.ThreadContext;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
@@ -26,7 +24,6 @@ public class PlaintextResource {
 
     @Produces(MediaType.TEXT_PLAIN)
     @GET
-    @CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
     @NonBlocking
     public Buffer plaintext() {
         return HELLO_WORLD_BUFFER;

+ 0 - 3
frameworks/Java/quarkus/resteasy-reactive-hibernate/src/main/resources/application.properties

@@ -28,8 +28,5 @@ quarkus.hibernate-orm.second-level-caching-enabled=false
 quarkus.hibernate-orm.database.generation=validate
 quarkus.hibernate-orm.log.sql=false
 
-mp.context.ThreadContext.propagated=None
-mp.context.ThreadContext.cleared=None
-mp.context.ThreadContext.unchanged=Remaining