diff --git a/bom/application/pom.xml b/bom/application/pom.xml index 2cffaf49cbffc..5be25c9516431 100644 --- a/bom/application/pom.xml +++ b/bom/application/pom.xml @@ -121,7 +121,7 @@ 1.0.1.Final 2.2.2.Final 3.5.1.Final - 4.4.6 + 4.5.1 4.5.14 4.4.16 4.1.5 diff --git a/docs/src/main/asciidoc/resteasy-reactive.adoc b/docs/src/main/asciidoc/resteasy-reactive.adoc index 8234d1200f09a..67696f789756b 100644 --- a/docs/src/main/asciidoc/resteasy-reactive.adoc +++ b/docs/src/main/asciidoc/resteasy-reactive.adoc @@ -16,7 +16,7 @@ include::_attributes.adoc[] :httpspec: https://tools.ietf.org/html/rfc7231 :jsonpapi: https://javadoc.io/doc/jakarta.json/jakarta.json-api/2.1.2/jakarta.json :injectapi: https://javadoc.io/static/jakarta.inject/jakarta.inject-api/2.0.1/jakarta.inject -:vertxapi: https://javadoc.io/static/io.vertx/vertx-core/4.4.6 +:vertxapi: https://javadoc.io/static/io.vertx/vertx-core/4.5.1 :resteasy-reactive-api: https://javadoc.io/doc/io.quarkus.resteasy.reactive/resteasy-reactive/{quarkus-version} :resteasy-reactive-common-api: https://javadoc.io/doc/io.quarkus.resteasy.reactive/resteasy-reactive-common/{quarkus-version} diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/MutinyClientInjectionTest.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/MutinyClientInjectionTest.java index 9cb2012f75fb2..9b23fc10bd7d2 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/MutinyClientInjectionTest.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/MutinyClientInjectionTest.java @@ -22,8 +22,6 @@ import io.smallrye.common.vertx.VertxContext; import io.smallrye.mutiny.Uni; import io.vertx.core.impl.ContextInternal; -import io.vertx.core.impl.EventLoopContext; -import io.vertx.core.impl.WorkerContext; import io.vertx.mutiny.core.Context; import io.vertx.mutiny.core.Vertx; @@ -73,7 +71,7 @@ public String invokeFromIoThread(String s) { service.sayHello(HelloRequest.newBuilder().setName(s).build()) .map(HelloReply::getMessage) .invoke(() -> assertThat(Vertx.currentContext()).isNotNull().isEqualTo(context)) - .invoke(() -> assertThat(Vertx.currentContext().getDelegate()).isInstanceOf(EventLoopContext.class)) + .invoke(() -> assertThat(Vertx.currentContext().getDelegate().isEventLoopContext()).isTrue()) .subscribe().with(e::complete, e::fail); }); }).await().atMost(Duration.ofSeconds(5)); @@ -86,9 +84,9 @@ public String invokeFromDuplicatedContext(String s) { duplicate.runOnContext(x -> { service.sayHello(HelloRequest.newBuilder().setName(s).build()) .map(HelloReply::getMessage) - .invoke(() -> assertThat(Vertx.currentContext().getDelegate()) - .isNotInstanceOf(EventLoopContext.class).isNotInstanceOf(WorkerContext.class) - .isEqualTo(duplicate)) + .invoke(() -> assertThat(Vertx.currentContext()).isNotNull().isEqualTo(duplicate)) + .invoke(() -> assertThat(Vertx.currentContext().getDelegate().isEventLoopContext()).isFalse()) + .invoke(() -> assertThat(Vertx.currentContext().getDelegate().isWorkerContext()).isFalse()) .subscribe().with(e::complete, e::fail); }); }).await().atMost(Duration.ofSeconds(5)); diff --git a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/MutinyStubInjectionTest.java b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/MutinyStubInjectionTest.java index a3cf817593051..fb811b07878d1 100644 --- a/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/MutinyStubInjectionTest.java +++ b/extensions/grpc/deployment/src/test/java/io/quarkus/grpc/client/MutinyStubInjectionTest.java @@ -23,8 +23,6 @@ import io.quarkus.test.QuarkusUnitTest; import io.smallrye.common.vertx.VertxContext; import io.smallrye.mutiny.Uni; -import io.vertx.core.impl.EventLoopContext; -import io.vertx.core.impl.WorkerContext; import io.vertx.mutiny.core.Context; import io.vertx.mutiny.core.Vertx; @@ -79,7 +77,7 @@ public String invokeFromIoThread(String s) { service.sayHello(HelloRequest.newBuilder().setName(s).build()) .map(HelloReply::getMessage) .invoke(() -> assertThat(Vertx.currentContext()).isNotNull().isEqualTo(context)) - .invoke(() -> assertThat(Vertx.currentContext().getDelegate()).isInstanceOf(EventLoopContext.class)) + .invoke(() -> assertThat(Vertx.currentContext().getDelegate().isEventLoopContext()).isTrue()) .map(r -> r + " " + Thread.currentThread().getName()) .subscribe().with(e::complete, e::fail); }); @@ -93,9 +91,9 @@ public String invokeFromDuplicatedContext(String s) { duplicate.runOnContext(x -> { service.sayHello(HelloRequest.newBuilder().setName(s).build()) .map(HelloReply::getMessage) - .invoke(() -> assertThat(Vertx.currentContext().getDelegate()) - .isNotInstanceOf(EventLoopContext.class).isNotInstanceOf(WorkerContext.class) - .isEqualTo(duplicate)) + .invoke(() -> assertThat(Vertx.currentContext()).isNotNull().isEqualTo(duplicate)) + .invoke(() -> assertThat(Vertx.currentContext().getDelegate().isEventLoopContext()).isFalse()) + .invoke(() -> assertThat(Vertx.currentContext().getDelegate().isWorkerContext()).isFalse()) .map(r -> r + " " + Thread.currentThread().getName()) .subscribe().with(e::complete, e::fail); }); diff --git a/extensions/grpc/inprocess/src/main/java/io/quarkus/grpc/inprocess/InProcessGrpcServerBuilderProvider.java b/extensions/grpc/inprocess/src/main/java/io/quarkus/grpc/inprocess/InProcessGrpcServerBuilderProvider.java index d47468927d67e..1a7d5af2d3ddf 100644 --- a/extensions/grpc/inprocess/src/main/java/io/quarkus/grpc/inprocess/InProcessGrpcServerBuilderProvider.java +++ b/extensions/grpc/inprocess/src/main/java/io/quarkus/grpc/inprocess/InProcessGrpcServerBuilderProvider.java @@ -19,7 +19,7 @@ import io.quarkus.runtime.LaunchMode; import io.quarkus.runtime.ShutdownContext; import io.vertx.core.Vertx; -import io.vertx.core.impl.EventLoopContext; +import io.vertx.core.impl.ContextInternal; import io.vertx.core.impl.VertxInternal; public class InProcessGrpcServerBuilderProvider implements GrpcBuilderProvider { @@ -35,7 +35,7 @@ public ServerBuilder createServerBuilder(Vertx vertx, Gr // wrap with Vert.x context, so that the context interceptors work VertxInternal vxi = (VertxInternal) vertx; Executor delegate = vertx.nettyEventLoopGroup(); - EventLoopContext context = vxi.createEventLoopContext(); + ContextInternal context = vxi.createEventLoopContext(); Executor executor = command -> delegate.execute(() -> context.dispatch(command)); builder.executor(executor); return builder; diff --git a/extensions/grpc/xds/src/main/java/io/quarkus/grpc/xds/XdsGrpcServerBuilderProvider.java b/extensions/grpc/xds/src/main/java/io/quarkus/grpc/xds/XdsGrpcServerBuilderProvider.java index 69db93834c07b..267d6e29604dd 100644 --- a/extensions/grpc/xds/src/main/java/io/quarkus/grpc/xds/XdsGrpcServerBuilderProvider.java +++ b/extensions/grpc/xds/src/main/java/io/quarkus/grpc/xds/XdsGrpcServerBuilderProvider.java @@ -32,7 +32,7 @@ import io.quarkus.runtime.LaunchMode; import io.quarkus.runtime.ShutdownContext; import io.vertx.core.Vertx; -import io.vertx.core.impl.EventLoopContext; +import io.vertx.core.impl.ContextInternal; import io.vertx.core.impl.VertxInternal; public class XdsGrpcServerBuilderProvider implements GrpcBuilderProvider { @@ -54,7 +54,7 @@ public ServerBuilder createServerBuilder(Vertx vertx, GrpcServ // wrap with Vert.x context, so that the context interceptors work VertxInternal vxi = (VertxInternal) vertx; Executor delegate = vertx.nettyEventLoopGroup(); - EventLoopContext context = vxi.createEventLoopContext(); + ContextInternal context = vxi.createEventLoopContext(); Executor executor = command -> delegate.execute(() -> context.dispatch(command)); builder.executor(executor); // custom XDS interceptors diff --git a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java index 5978fa7d2e819..880b69032ac1d 100644 --- a/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java +++ b/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/VertxHttpRecorder.java @@ -65,7 +65,6 @@ import io.vertx.core.http.*; import io.vertx.core.http.impl.Http1xServerConnection; import io.vertx.core.impl.ContextInternal; -import io.vertx.core.impl.EventLoopContext; import io.vertx.core.impl.Utils; import io.vertx.core.impl.VertxInternal; import io.vertx.core.net.SocketAddress; @@ -1273,7 +1272,7 @@ public void initChannel(VirtualServerChannel ch) throws Exception { .childHandler(new ChannelInitializer() { @Override public void initChannel(VirtualChannel ch) throws Exception { - EventLoopContext context = vertx.createEventLoopContext(); + ContextInternal context = vertx.createEventLoopContext(); VertxHandler handler = VertxHandler.create(chctx -> { Http1xServerConnection conn = new Http1xServerConnection( diff --git a/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/core/runtime/graal/VertxSubstitutions.java b/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/core/runtime/graal/VertxSubstitutions.java index 14b5ef952116c..fc2e9c59b3c9f 100644 --- a/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/core/runtime/graal/VertxSubstitutions.java +++ b/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/core/runtime/graal/VertxSubstitutions.java @@ -89,7 +89,8 @@ public void close(Promise promise) { } @Substitute - public MessageImpl createMessage(boolean send, String address, MultiMap headers, Object body, String codecName) { + public MessageImpl createMessage(boolean send, boolean isLocal, String address, MultiMap headers, Object body, + String codecName) { throw new RuntimeException("Not Implemented"); } diff --git a/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/impl/ClientImpl.java b/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/impl/ClientImpl.java index 4565cb83bc568..9b77d57a194c9 100644 --- a/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/impl/ClientImpl.java +++ b/independent-projects/resteasy-reactive/client/runtime/src/main/java/org/jboss/resteasy/reactive/client/impl/ClientImpl.java @@ -49,6 +49,7 @@ import io.vertx.core.MultiMap; import io.vertx.core.Promise; import io.vertx.core.TimeoutStream; +import io.vertx.core.Timer; import io.vertx.core.Verticle; import io.vertx.core.Vertx; import io.vertx.core.VertxOptions; @@ -60,6 +61,7 @@ import io.vertx.core.eventbus.EventBus; import io.vertx.core.file.FileSystem; import io.vertx.core.http.HttpClient; +import io.vertx.core.http.HttpClientBuilder; import io.vertx.core.http.HttpClientOptions; import io.vertx.core.http.HttpClientRequest; import io.vertx.core.http.HttpClientResponse; @@ -69,6 +71,8 @@ import io.vertx.core.http.HttpServerOptions; import io.vertx.core.http.RequestOptions; import io.vertx.core.http.WebSocket; +import io.vertx.core.http.WebSocketClient; +import io.vertx.core.http.WebSocketClientOptions; import io.vertx.core.http.WebSocketConnectOptions; import io.vertx.core.http.WebsocketVersion; import io.vertx.core.net.NetClient; @@ -420,6 +424,16 @@ public HttpServer createHttpServer() { return getDelegate().createHttpServer(); } + @Override + public WebSocketClient createWebSocketClient(WebSocketClientOptions webSocketClientOptions) { + return getDelegate().createWebSocketClient(webSocketClientOptions); + } + + @Override + public HttpClientBuilder httpClientBuilder() { + return getDelegate().httpClientBuilder(); + } + @Override public HttpClient createHttpClient(HttpClientOptions httpClientOptions) { return new LazyHttpClient(new Supplier() { @@ -480,6 +494,11 @@ public SharedData sharedData() { return getDelegate().sharedData(); } + @Override + public Timer timer(long l, TimeUnit timeUnit) { + return getDelegate().timer(l, timeUnit); + } + @Override public long setTimer(long l, Handler handler) { return getDelegate().setTimer(l, handler); @@ -850,10 +869,25 @@ public Future webSocketAbs(String url, MultiMap headers, WebsocketVer } @Override - public Future updateSSLOptions(SSLOptions options) { + public Future updateSSLOptions(SSLOptions options) { return getDelegate().updateSSLOptions(options); } + @Override + public void updateSSLOptions(SSLOptions options, Handler> handler) { + getDelegate().updateSSLOptions(options, handler); + } + + @Override + public Future updateSSLOptions(SSLOptions sslOptions, boolean b) { + return getDelegate().updateSSLOptions(sslOptions, b); + } + + @Override + public void updateSSLOptions(SSLOptions options, boolean force, Handler> handler) { + getDelegate().updateSSLOptions(options, force, handler); + } + @Override public HttpClient connectionHandler(Handler handler) { return getDelegate().connectionHandler(handler); diff --git a/independent-projects/resteasy-reactive/pom.xml b/independent-projects/resteasy-reactive/pom.xml index d94e4537294cf..bcb569d129395 100644 --- a/independent-projects/resteasy-reactive/pom.xml +++ b/independent-projects/resteasy-reactive/pom.xml @@ -60,7 +60,7 @@ 3.2.3 2.5.1 2.1.2 - 4.4.6 + 4.5.1 5.4.0 1.0.0.Final 2.16.0