Skip to content

Commit 662fe35

Browse files
authored
Upgrading to Quarkus 2.14.0.Final (TechEmpower#7681)
* Upgrade to Quarkus 2.14.0.Final * No longer need to disable Context Propagation * ServerHeaderFilter: adapt to latest Quarkus and align between modules
1 parent 4da7c59 commit 662fe35

File tree

11 files changed

+23
-55
lines changed

11 files changed

+23
-55
lines changed

frameworks/Java/quarkus/pom.xml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<packaging>pom</packaging>
99

1010
<properties>
11-
<quarkus.version>2.9.1.Final</quarkus.version>
11+
<quarkus.version>2.14.0.Final</quarkus.version>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313
<maven.compiler.source>11</maven.compiler.source>
1414
<maven.compiler.target>11</maven.compiler.target>
@@ -23,11 +23,6 @@
2323

2424
<dependencyManagement>
2525
<dependencies>
26-
<dependency>
27-
<groupId>org.hibernate.reactive</groupId>
28-
<artifactId>hibernate-reactive-core</artifactId>
29-
<version>1.1.6.Final</version>
30-
</dependency>
3126
<dependency>
3227
<groupId>io.quarkus</groupId>
3328
<artifactId>quarkus-benchmark-common</artifactId>

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,5 @@ quarkus.hibernate-orm.second-level-caching-enabled=false
2929
quarkus.hibernate-orm.database.generation=validate
3030
quarkus.hibernate-orm.log.sql=false
3131

32-
mp.context.ThreadContext.propagated=None
33-
mp.context.ThreadContext.cleared=None
34-
mp.context.ThreadContext.unchanged=Remaining
35-
3632

3733

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,20 @@
44
import java.time.format.DateTimeFormatter;
55

66
import javax.annotation.PostConstruct;
7-
import javax.inject.Singleton;
87

9-
import io.vertx.core.MultiMap;
108
import org.jboss.resteasy.reactive.server.ServerResponseFilter;
119

1210
import io.quarkus.scheduler.Scheduled;
11+
import io.vertx.core.MultiMap;
1312
import io.vertx.core.http.HttpHeaders;
1413
import io.vertx.core.http.HttpServerResponse;
1514

16-
@Singleton
1715
public class ServerHeaderFilter {
1816

1917
private static final CharSequence SERVER_HEADER_NAME = HttpHeaders.createOptimized("Server");
2018
private static final CharSequence SERVER_HEADER_VALUE = HttpHeaders.createOptimized("Quarkus");
2119
private static final CharSequence DATE_HEADER_NAME = HttpHeaders.createOptimized("Date");
22-
20+
2321
private volatile CharSequence date;
2422

2523
@PostConstruct
@@ -38,4 +36,5 @@ public void filter(HttpServerResponse response) {
3836
headers.add(SERVER_HEADER_NAME, SERVER_HEADER_VALUE);
3937
headers.add(DATE_HEADER_NAME, date);
4038
}
39+
4140
}

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616

1717
import io.quarkus.benchmark.model.World;
1818
import io.quarkus.benchmark.repository.WorldRepository;
19-
import io.smallrye.context.api.CurrentThreadContext;
2019
import io.smallrye.mutiny.Uni;
21-
import org.eclipse.microprofile.context.ThreadContext;
2220

2321
@Produces(MediaType.APPLICATION_JSON)
2422
@Path("/")
@@ -29,22 +27,19 @@ public class DbResource {
2927

3028
@GET
3129
@Path("db")
32-
@CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
3330
public Uni<World> db() {
3431
return worldRepository.findStateless();
3532
}
3633

3734
@GET
3835
@Path("queries")
39-
@CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
4036
public Uni<List<World>> queries(@QueryParam("queries") String queries) {
4137
final int queryCount = parseQueryCount(queries);
4238
return worldRepository.findStateless(queryCount);
4339
}
4440

4541
@GET
4642
@Path("createData")
47-
@CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
4843
public Uni<Void> createData() {
4944
return worldRepository.createData();
5045
}
@@ -55,7 +50,6 @@ private Uni<List<World>> randomWorldsForWrite(Mutiny.Session session, int count)
5550

5651
@GET
5752
@Path("updates")
58-
@CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
5953
public Uni<List<World>> updates(@QueryParam("queries") String queries) {
6054
return worldRepository.inSession(session -> {
6155

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22

33
import io.quarkus.benchmark.model.Fortune;
44
import io.quarkus.benchmark.repository.FortuneRepository;
5-
import io.smallrye.context.api.CurrentThreadContext;
65
import io.smallrye.mutiny.Uni;
76
import io.vertx.core.buffer.Buffer;
87
import io.vertx.ext.web.templ.rocker.impl.VertxBufferOutput;
9-
import org.eclipse.microprofile.context.ThreadContext;
108

119
import javax.inject.Inject;
1210
import javax.ws.rs.GET;
@@ -24,7 +22,6 @@ public class FortuneResource {
2422

2523
@Produces("text/html; charset=UTF-8")
2624
@GET
27-
@CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
2825
public Uni<Buffer> fortunes() {
2926
return repository.findAll()
3027
.map(fortunes -> {

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import javax.ws.rs.core.MediaType;
77

88
import io.smallrye.common.annotation.NonBlocking;
9-
import io.smallrye.context.api.CurrentThreadContext;
10-
import org.eclipse.microprofile.context.ThreadContext;
119

1210
@Path("/json")
1311
public class JsonResource {
@@ -16,7 +14,6 @@ public class JsonResource {
1614

1715
@Produces(MediaType.APPLICATION_JSON)
1816
@GET
19-
@CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
2017
@NonBlocking
2118
public Message json() {
2219
// https://github.com/TechEmpower/FrameworkBenchmarks/wiki/Project-Information-Framework-Tests-Overview#json-serialization

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@
1010
import io.netty.buffer.ByteBuf;
1111
import io.netty.buffer.ByteBufAllocator;
1212
import io.smallrye.common.annotation.NonBlocking;
13-
import io.smallrye.context.api.CurrentThreadContext;
1413
import io.vertx.core.buffer.Buffer;
15-
import org.eclipse.microprofile.context.ThreadContext;
1614

1715
@Path("/plaintext")
1816
public class PlaintextResource {
@@ -27,7 +25,6 @@ public class PlaintextResource {
2725

2826
@Produces(MediaType.TEXT_PLAIN)
2927
@GET
30-
@CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
3128
@NonBlocking
3229
public Buffer plaintext() {
3330
return HELLO_WORLD_BUFFER;

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,3 @@ quarkus.log.level=INFO
2424

2525
quarkus.vertx.prefer-native-transport=true
2626

27-
mp.context.ThreadContext.propagated=None
28-
mp.context.ThreadContext.cleared=None
29-
mp.context.ThreadContext.unchanged=Remaining

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

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,37 @@
44
import java.time.format.DateTimeFormatter;
55

66
import javax.annotation.PostConstruct;
7-
import javax.inject.Singleton;
8-
import javax.ws.rs.container.ContainerRequestContext;
9-
import javax.ws.rs.container.ContainerResponseContext;
10-
import javax.ws.rs.container.ContainerResponseFilter;
11-
import javax.ws.rs.core.MultivaluedMap;
12-
import javax.ws.rs.ext.Provider;
7+
8+
import org.jboss.resteasy.reactive.server.ServerResponseFilter;
139

1410
import io.quarkus.scheduler.Scheduled;
11+
import io.vertx.core.MultiMap;
12+
import io.vertx.core.http.HttpHeaders;
13+
import io.vertx.core.http.HttpServerResponse;
14+
15+
public class ServerHeaderFilter {
1516

16-
@Singleton
17-
@Provider
18-
public class ServerHeaderFilter implements ContainerResponseFilter {
17+
private static final CharSequence SERVER_HEADER_NAME = HttpHeaders.createOptimized("Server");
18+
private static final CharSequence SERVER_HEADER_VALUE = HttpHeaders.createOptimized("Quarkus");
19+
private static final CharSequence DATE_HEADER_NAME = HttpHeaders.createOptimized("Date");
1920

20-
private volatile String date;
21+
private volatile CharSequence date;
2122

2223
@PostConstruct
2324
public void init() {
24-
date = DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now());
25+
date = HttpHeaders.createOptimized(DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now()));
2526
}
2627

2728
@Scheduled(every="1s")
2829
void increment() {
29-
date = DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now());
30+
date = HttpHeaders.createOptimized(DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now()));
3031
}
3132

32-
@Override
33-
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) {
34-
final MultivaluedMap<String, Object> headers = responseContext.getHeaders();
35-
headers.add( "Server", "Quarkus");
36-
headers.add( "Date", date);
33+
@ServerResponseFilter
34+
public void filter(HttpServerResponse response) {
35+
MultiMap headers = response.headers();
36+
headers.add(SERVER_HEADER_NAME, SERVER_HEADER_VALUE);
37+
headers.add(DATE_HEADER_NAME, date);
3738
}
39+
3840
}

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
import io.netty.buffer.ByteBuf;
44
import io.netty.buffer.ByteBufAllocator;
55
import io.smallrye.common.annotation.NonBlocking;
6-
import io.smallrye.context.api.CurrentThreadContext;
76
import io.vertx.core.buffer.Buffer;
8-
import org.eclipse.microprofile.context.ThreadContext;
97

108
import javax.ws.rs.GET;
119
import javax.ws.rs.Path;
@@ -26,7 +24,6 @@ public class PlaintextResource {
2624

2725
@Produces(MediaType.TEXT_PLAIN)
2826
@GET
29-
@CurrentThreadContext(propagated = {}, cleared = {}, unchanged = ThreadContext.ALL_REMAINING)
3027
@NonBlocking
3128
public Buffer plaintext() {
3229
return HELLO_WORLD_BUFFER;

0 commit comments

Comments
 (0)