diff --git a/bom/application/pom.xml b/bom/application/pom.xml
index 671b956d91e01..d10b47ba2dfee 100644
--- a/bom/application/pom.xml
+++ b/bom/application/pom.xml
@@ -137,8 +137,7 @@
1.0.33.4.1.Final0.13.0
- 1.4.0
- 1.4.0
+ 1.4.02.5.03.5.7
@@ -4040,45 +4039,10 @@
-
- io.smallrye.reactive
- smallrye-axle-generator
- ${axle-client.version}
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.core
- jackson-core
-
-
-
-
- io.smallrye.reactive
- smallrye-axle-amqp-client
- ${axle-client.version}
-
-
- io.smallrye.reactive
- smallrye-axle-core
- ${axle-client.version}
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.core
- jackson-core
-
-
- io.smallrye.reactivesmallrye-mutiny-vertx-core
- ${mutiny-client.version}
+ ${mutiny-vertx.version}com.fasterxml.jackson.core
@@ -4090,35 +4054,30 @@
-
- io.smallrye.reactive
- smallrye-axle-web-client
- ${axle-client.version}
- io.smallrye.reactivesmallrye-mutiny-vertx-web-client
- ${mutiny-client.version}
+ ${mutiny-vertx.version}io.smallrye.reactivesmallrye-mutiny-vertx-sql-client
- ${mutiny-client.version}
+ ${mutiny-vertx.version}io.smallrye.reactivesmallrye-mutiny-vertx-db2-client
- ${mutiny-client.version}
+ ${mutiny-vertx.version}io.smallrye.reactivesmallrye-mutiny-vertx-mysql-client
- ${mutiny-client.version}
+ ${mutiny-vertx.version}io.smallrye.reactivesmallrye-mutiny-vertx-pg-client
- ${mutiny-client.version}
+ ${mutiny-vertx.version}
@@ -4126,35 +4085,15 @@
client${scram-client.version}
-
- io.smallrye.reactive
- smallrye-axle-mail-client
- ${axle-client.version}
-
-
+ io.smallrye.reactivesmallrye-mutiny-vertx-mail-client
- ${mutiny-client.version}
+ ${mutiny-vertx.version}io.smallrye.reactivesmallrye-mutiny-vertx-redis-client
- ${mutiny-client.version}
-
-
- io.vertx
- vertx-rx-java2
- ${vertx.version}
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.core
- jackson-core
-
-
+ ${mutiny-vertx.version}io.vertx
diff --git a/build-parent/pom.xml b/build-parent/pom.xml
index 660bd618d1b67..327085f375d2b 100644
--- a/build-parent/pom.xml
+++ b/build-parent/pom.xml
@@ -37,7 +37,6 @@
21.0.021.04.3.2
- 1.1.01.1.03.9.2
diff --git a/docs/src/main/asciidoc/mailer.adoc b/docs/src/main/asciidoc/mailer.adoc
index c2b15e69ef543..321005827988f 100644
--- a/docs/src/main/asciidoc/mailer.adoc
+++ b/docs/src/main/asciidoc/mailer.adoc
@@ -411,8 +411,6 @@ If you need fine control on how the mail is sent, for instance if you need to re
Three API flavors are exposed:
* the Mutiny client (`io.vertx.mutiny.ext.mail.MailClient`)
-* the Axle client (`io.vertx.axle.ext.mail.MailClient`), using `CompletionStage` and Reactive Streams `Publisher` - deprecated, it is recommended to switch to the Mutiny client
-* the RX Java 2 client (`io.vertx.reactivex.ext.mail.MailClient`) - deprecated, it is recommended to switch to the Mutiny client
* the bare client (`io.vertx.ext.mail.MailClient`)
Check the link:vertx[Using Vert.x guide] for further details about these different APIs and how to select the most suitable for you.
diff --git a/docs/src/main/asciidoc/reactive-routes.adoc b/docs/src/main/asciidoc/reactive-routes.adoc
index 7466116e8e5bc..cda96a21da55c 100644
--- a/docs/src/main/asciidoc/reactive-routes.adoc
+++ b/docs/src/main/asciidoc/reactive-routes.adoc
@@ -206,12 +206,12 @@ Some methods of `RoutingExchange` do it for you, others not and you must call th
A route method can accept arguments of the following types:
* `io.vertx.ext.web.RoutingContext`
-* `io.vertx.reactivex.ext.web.RoutingContext`
+* `io.vertx.mutiny.ext.web.RoutingContext`
* `io.quarkus.vertx.web.RoutingExchange`
* `io.vertx.core.http.HttpServerRequest`
* `io.vertx.core.http.HttpServerResponse`
-* `io.vertx.reactivex.core.http.HttpServerRequest`
-* `io.vertx.reactivex.core.http.HttpServerResponse`
+* `io.vertx.mutiny.core.http.HttpServerRequest`
+* `io.vertx.mutiny.core.http.HttpServerResponse`
Furthermore, it is possible to inject the `HttpServerRequest` parameters into a method parameter annotated with `@io.quarkus.vertx.web.Param`:
diff --git a/docs/src/main/asciidoc/vertx.adoc b/docs/src/main/asciidoc/vertx.adoc
index 8267ed74221b8..25c5ea291f800 100644
--- a/docs/src/main/asciidoc/vertx.adoc
+++ b/docs/src/main/asciidoc/vertx.adoc
@@ -133,9 +133,9 @@ Once the extension has been added, you can access the _managed_ Vert.x instance
----
If you are familiar with Vert.x, you know that Vert.x provides different API models.
-For instance _bare_ Vert.x uses callbacks, the Mutiny variants uses `Uni` and `Multi`, the RX Java 2 version uses `Single`, `Maybe`, `Completable`, `Observable` and `Flowable`...
+The _bare_ Vert.x uses callbacks, while the Mutiny variant uses `Uni` and `Multi`.
-Quarkus provides 4 Vert.x APIs:
+Quarkus provides 2 Vert.x APIs:
[options="header"]
|===
@@ -146,21 +146,15 @@ Quarkus provides 4 Vert.x APIs:
| https://smallrye.io/smallrye-mutiny/[Mutiny] | `@Inject io.vertx.mutiny.core.Vertx vertx` | The Mutiny API for Vert.x.
-| RX Java 2 | `@Inject io.vertx.reactivex.core.Vertx vertx` | RX Java 2 Vert.x, the API uses RX Java 2 types (deprecated).
-
-| _Axle_ | `@Inject io.vertx.axle.core.Vertx vertx` | Axle Vert.x, the API uses `CompletionStage` and `Reactive Streams` (deprecated).
-
|===
-TIP: You may inject any of the 4 flavors of `Vertx` as well as the `EventBus` in your Quarkus application beans: `bare`, `Mutiny`, `Axle`, `RxJava2`.
+TIP: You may inject any of the 2 flavors of `Vertx` as well as the `EventBus` in your Quarkus application beans: `bare` and `Mutiny`.
They are just shims and rely on a single _managed_ Vert.x instance.
You will pick one or the other depending on your use cases.
- `bare`: for advanced usage or if you have existing Vert.x code you want to reuse in your Quarkus application
- `mutiny`: Mutiny is an event-driven reactive programming API. It uses 2 types: `Uni` and `Multi`. This is the recommended API.
-- `Axle`: works well with Quarkus and MicroProfile APIs (`CompletionStage` for single results and `Publisher` for streams) - deprecated, it is recommended to switch to Mutiny
-- `Rx Java 2`: when you need support for a wide range of data transformation operators on your streams - deprecated, it is recommended to switch to Mutiny
The following snippets illustrate the difference between these 4 APIs:
@@ -183,25 +177,6 @@ vertx.fileSystem().readFile("lorem-ipsum.txt")
content -> System.out.println("Content: " + content),
err -> System.out.println("Cannot read the file: " + err.getMessage())
);
-
-// Rx Java 2 Vert.x
-vertx.fileSystem().rxReadFile("lorem-ipsum.txt")
- .map(buffer -> buffer.toString("UTF-8"))
- .subscribe(
- content -> System.out.println("Content: " + content),
- err -> System.out.println("Cannot read the file: " + err.getMessage())
- );
-
-// Axle API:
-vertx.fileSystem().readFile("lorem-ipsum.txt")
- .thenApply(buffer -> buffer.toString("UTF-8"))
- .whenComplete((content, err) -> {
- if (err != null) {
- System.out.println("Cannot read the file: " + err.getMessage());
- } else {
- System.out.println("Content: " + content);
- }
- });
----
[TIP]
@@ -465,22 +440,8 @@ Depending on the API model you want to use you need to add the right dependency
io.smallrye.reactivesmallrye-mutiny-vertx-web-client
-
-
-
- io.smallrye.reactive
- smallrye-axle-web-client
-
-
-
-
- io.vertx
- vertx-rx-java2
-
----
-NOTE: The `vertx-rx-java2` provides the RX Java 2 API for the whole Vert.x stack, not only the web client.
-
In this guide, we are going to use the Mutiny API, so:
[source, xml, subs=attributes+]
diff --git a/extensions/mailer/deployment/src/test/java/io/quarkus/mailer/InjectionTest.java b/extensions/mailer/deployment/src/test/java/io/quarkus/mailer/InjectionTest.java
index db1ca519064e2..76b0bb49ddf26 100644
--- a/extensions/mailer/deployment/src/test/java/io/quarkus/mailer/InjectionTest.java
+++ b/extensions/mailer/deployment/src/test/java/io/quarkus/mailer/InjectionTest.java
@@ -27,9 +27,8 @@ public class InjectionTest {
@RegisterExtension
static final QuarkusUnitTest config = new QuarkusUnitTest()
.setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class)
- .addClasses(BeanUsingAxleMailClient.class, BeanUsingBareMailClient.class, BeanUsingRxClient.class)
- .addClasses(BeanUsingBlockingMailer.class, BeanUsingReactiveMailer.class)
- .addClasses(MailTemplates.class)
+ .addClasses(BeanUsingBareMailClient.class, BeanUsingBlockingMailer.class,
+ BeanUsingReactiveMailer.class, MailTemplates.class)
.addAsResource("mock-config.properties", "application.properties")
.addAsResource(new StringAsset(""
+ "{name}"), "templates/test1.html")
@@ -43,13 +42,7 @@ public class InjectionTest {
+ "{name}"), "templates/mails/test2.html"));
@Inject
- BeanUsingAxleMailClient beanUsingBare;
-
- @Inject
- BeanUsingBareMailClient beanUsingAxle;
-
- @Inject
- BeanUsingRxClient beanUsingRx;
+ BeanUsingBareMailClient beanUsingBare;
@Inject
BeanUsingMutinyClient beanUsingMutiny;
@@ -69,9 +62,7 @@ public class InjectionTest {
@Test
public void testInjection() {
beanUsingMutiny.verify();
- beanUsingAxle.verify();
beanUsingBare.verify();
- beanUsingRx.verify();
beanUsingBlockingMailer.verify();
beanUsingReactiveMailer.verify().toCompletableFuture().join();
beanUsingLegacyReactiveMailer.verify().toCompletableFuture().join();
@@ -91,28 +82,6 @@ void verify() {
}
}
- @ApplicationScoped
- static class BeanUsingAxleMailClient {
-
- @Inject
- io.vertx.axle.ext.mail.MailClient client;
-
- void verify() {
- Assertions.assertNotNull(client);
- }
- }
-
- @ApplicationScoped
- static class BeanUsingRxClient {
-
- @Inject
- io.vertx.reactivex.ext.mail.MailClient client;
-
- void verify() {
- Assertions.assertNotNull(client);
- }
- }
-
@ApplicationScoped
static class BeanUsingMutinyClient {
diff --git a/extensions/mailer/runtime/pom.xml b/extensions/mailer/runtime/pom.xml
index e2570c4a4c8cb..adfec922ecff5 100644
--- a/extensions/mailer/runtime/pom.xml
+++ b/extensions/mailer/runtime/pom.xml
@@ -31,10 +31,6 @@
io.smallrye.reactivesmallrye-mutiny-vertx-mail-client
-
- io.smallrye.reactive
- smallrye-axle-mail-client
- org.subethamailsubethasmtp
diff --git a/extensions/mailer/runtime/src/main/java/io/quarkus/mailer/runtime/MailClientProducer.java b/extensions/mailer/runtime/src/main/java/io/quarkus/mailer/runtime/MailClientProducer.java
index 355ae161296dd..12ea98154d397 100644
--- a/extensions/mailer/runtime/src/main/java/io/quarkus/mailer/runtime/MailClientProducer.java
+++ b/extensions/mailer/runtime/src/main/java/io/quarkus/mailer/runtime/MailClientProducer.java
@@ -41,26 +41,6 @@ public io.vertx.mutiny.ext.mail.MailClient mutinyClient() {
return mutinyClient;
}
- @Singleton
- @Produces
- @Deprecated
- public io.vertx.axle.ext.mail.MailClient axleMailClient() {
- LOGGER.warn(
- "`io.vertx.axle.ext.mail.MailClient` is deprecated and will be removed in a future version - it is "
- + "recommended to switch to `io.vertx.mutiny.ext.mail.MailClient`");
- return io.vertx.axle.ext.mail.MailClient.newInstance(client);
- }
-
- @Singleton
- @Produces
- @Deprecated
- public io.vertx.reactivex.ext.mail.MailClient rxMailClient() {
- LOGGER.warn(
- "`io.vertx.reactivex.ext.mail.MailClient` is deprecated and will be removed in a future version - it is "
- + "recommended to switch to `io.vertx.mutiny.ext.mail.MailClient`");
- return io.vertx.reactivex.ext.mail.MailClient.newInstance(client);
- }
-
@PreDestroy
public void stop() {
client.close();
diff --git a/extensions/mailer/runtime/src/test/java/io/quarkus/mailer/MailTest.java b/extensions/mailer/runtime/src/test/java/io/quarkus/mailer/MailTest.java
index 256e5f2274ae9..6a8226dc37074 100644
--- a/extensions/mailer/runtime/src/test/java/io/quarkus/mailer/MailTest.java
+++ b/extensions/mailer/runtime/src/test/java/io/quarkus/mailer/MailTest.java
@@ -10,12 +10,9 @@
import java.util.List;
import java.util.Map;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import io.smallrye.mutiny.Multi;
-import io.vertx.axle.core.Vertx;
class MailTest {
@@ -24,17 +21,6 @@ class MailTest {
private static final String DESCRIPTION = "my lorem ipsum";
private static final String TO_ADDRESS = "quarkus@quarkus.io";
private static final String TEXT_PLAIN = "text/plain";
- private static Vertx vertx;
-
- @BeforeAll
- static void init() {
- vertx = Vertx.vertx();
- }
-
- @AfterAll
- static void closing() {
- vertx.close().toCompletableFuture().join();
- }
@Test
void testSimpleTextEmail() {
diff --git a/extensions/mailer/runtime/src/test/java/io/quarkus/mailer/runtime/MailerImplTest.java b/extensions/mailer/runtime/src/test/java/io/quarkus/mailer/runtime/MailerImplTest.java
index b5add2d0ad9d2..06bf4c4a37e2a 100644
--- a/extensions/mailer/runtime/src/test/java/io/quarkus/mailer/runtime/MailerImplTest.java
+++ b/extensions/mailer/runtime/src/test/java/io/quarkus/mailer/runtime/MailerImplTest.java
@@ -25,7 +25,7 @@
import org.subethamail.wiser.WiserMessage;
import io.quarkus.mailer.Mail;
-import io.reactivex.Flowable;
+import io.smallrye.mutiny.Multi;
import io.vertx.ext.mail.MailConfig;
import io.vertx.mutiny.core.Vertx;
import io.vertx.mutiny.ext.mail.MailClient;
@@ -229,7 +229,7 @@ public Byte next() {
};
mailer.send(Mail.withText(TO, "Test", "testAttachmentAsStream")
- .addAttachment("my-file.txt", Flowable.fromIterable(iterable), TEXT_CONTENT_TYPE))
+ .addAttachment("my-file.txt", Multi.createFrom().iterable(iterable), TEXT_CONTENT_TYPE))
.await().indefinitely();
assertThat(wiser.getMessages()).hasSize(1);
WiserMessage actual = wiser.getMessages().get(0);
@@ -260,7 +260,7 @@ public Byte next() {
};
legacyMailer.send(Mail.withText(TO, "Test", "testAttachmentAsStream")
- .addAttachment("my-file.txt", Flowable.fromIterable(iterable), TEXT_CONTENT_TYPE))
+ .addAttachment("my-file.txt", Multi.createFrom().iterable(iterable), TEXT_CONTENT_TYPE))
.toCompletableFuture().join();
assertThat(wiser.getMessages()).hasSize(1);
WiserMessage actual = wiser.getMessages().get(0);
diff --git a/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/channels/ChannelConsumer.java b/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/channels/ChannelConsumer.java
index 8de44a2aa72dc..f381e597bc495 100644
--- a/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/channels/ChannelConsumer.java
+++ b/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/channels/ChannelConsumer.java
@@ -11,20 +11,20 @@
import org.eclipse.microprofile.reactive.streams.operators.PublisherBuilder;
import org.eclipse.microprofile.reactive.streams.operators.ReactiveStreams;
-import io.reactivex.Flowable;
+import io.smallrye.mutiny.Multi;
@ApplicationScoped
public class ChannelConsumer {
@Inject
@Channel("source-channel")
- Flowable> sourceStream;
+ Multi> sourceStream;
public List consume() {
- return Flowable.fromPublisher(sourceStream)
- .map(Message::getPayload)
- .toList()
- .blockingGet();
+ return sourceStream
+ .onItem().transform(Message::getPayload)
+ .collect().asList()
+ .await().indefinitely();
}
@Outgoing("source-channel")
diff --git a/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/channels/DeprecatedChannelConsumer.java b/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/channels/DeprecatedChannelConsumer.java
index ced1f95f5822d..c0280c56bfbd4 100644
--- a/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/channels/DeprecatedChannelConsumer.java
+++ b/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/channels/DeprecatedChannelConsumer.java
@@ -9,8 +9,9 @@
import org.eclipse.microprofile.reactive.messaging.Outgoing;
import org.eclipse.microprofile.reactive.streams.operators.PublisherBuilder;
import org.eclipse.microprofile.reactive.streams.operators.ReactiveStreams;
+import org.reactivestreams.Publisher;
-import io.reactivex.Flowable;
+import io.smallrye.mutiny.Multi;
import io.smallrye.reactive.messaging.annotations.Channel;
@ApplicationScoped
@@ -18,13 +19,13 @@ public class DeprecatedChannelConsumer {
@Inject
@Channel("source-channel")
- Flowable> sourceStream;
+ Publisher> sourceStream;
public List consume() {
- return Flowable.fromPublisher(sourceStream)
- .map(Message::getPayload)
- .toList()
- .blockingGet();
+ return Multi.createFrom().publisher(sourceStream)
+ .onItem().transform(Message::getPayload)
+ .collect().asList()
+ .await().indefinitely();
}
@Outgoing("source-channel")
diff --git a/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/hotreload/SomeSource.java b/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/hotreload/SomeSource.java
index cfb07a6a4376e..cddf04eddf867 100644
--- a/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/hotreload/SomeSource.java
+++ b/extensions/smallrye-reactive-messaging/deployment/src/test/java/io/quarkus/smallrye/reactivemessaging/hotreload/SomeSource.java
@@ -1,18 +1,25 @@
package io.quarkus.smallrye.reactivemessaging.hotreload;
+import java.util.function.Function;
+
import javax.enterprise.context.ApplicationScoped;
import org.eclipse.microprofile.reactive.messaging.Outgoing;
-import io.reactivex.Flowable;
+import io.smallrye.mutiny.Multi;
@ApplicationScoped
public class SomeSource {
@Outgoing("my-source")
- public Flowable source() {
- return Flowable.just(0, 1, 2, 3, 4, 5, 6, 7, 8)
- .map(l -> l + 1);
+ public Multi source() {
+ return Multi.createFrom().items(0, 1, 2, 3, 4, 5, 6, 7, 8)
+ .map(new Function() {
+ @Override
+ public Integer apply(Integer l) {
+ return l + 1;
+ }
+ });
}
}
diff --git a/extensions/smallrye-reactive-messaging/runtime/pom.xml b/extensions/smallrye-reactive-messaging/runtime/pom.xml
index 3e89fb0471159..b6a3082d21630 100644
--- a/extensions/smallrye-reactive-messaging/runtime/pom.xml
+++ b/extensions/smallrye-reactive-messaging/runtime/pom.xml
@@ -20,10 +20,6 @@
io.quarkusquarkus-mutiny-reactive-streams-operators
-
- io.reactivex.rxjava2
- rxjava
- io.quarkusquarkus-vertx
diff --git a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/DotNames.java b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/DotNames.java
index f0a6a9436b23e..a46028c85546d 100644
--- a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/DotNames.java
+++ b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/DotNames.java
@@ -26,17 +26,14 @@ final class DotNames {
static final DotName UNI = DotName.createSimple(Uni.class.getName());
static final DotName MULTI = DotName.createSimple(Multi.class.getName());
static final DotName BUFFER = DotName.createSimple(Buffer.class.getName());
- static final DotName RX_BUFFER = DotName.createSimple(io.vertx.reactivex.core.buffer.Buffer.class.getName());
static final DotName MUTINY_BUFFER = DotName.createSimple(io.vertx.mutiny.core.buffer.Buffer.class.getName());
- static final DotName RX_HTTP_SERVER_RESPONSE = DotName
- .createSimple(io.vertx.reactivex.core.http.HttpServerResponse.class.getName());
- static final DotName RX_HTTP_SERVER_REQUEST = DotName
- .createSimple(io.vertx.reactivex.core.http.HttpServerRequest.class.getName());
static final DotName HTTP_SERVER_RESPONSE = DotName.createSimple(HttpServerResponse.class.getName());
static final DotName HTTP_SERVER_REQUEST = DotName.createSimple(HttpServerRequest.class.getName());
+ static final DotName MUTINY_HTTP_SERVER_RESPONSE = DotName.createSimple(
+ io.vertx.mutiny.core.http.HttpServerResponse.class.getName());
+ static final DotName MUTINY_HTTP_SERVER_REQUEST = DotName.createSimple(
+ io.vertx.mutiny.core.http.HttpServerRequest.class.getName());
static final DotName ROUTING_EXCHANGE = DotName.createSimple(RoutingExchange.class.getName());
- static final DotName RX_ROUTING_CONTEXT = DotName
- .createSimple(io.vertx.reactivex.ext.web.RoutingContext.class.getName());
static final DotName ROUTING_CONTEXT = DotName.createSimple(RoutingContext.class.getName());
static final DotName BODY = DotName.createSimple(Body.class.getName());
static final DotName HEADER = DotName.createSimple(Header.class.getName());
diff --git a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/HandlerDescriptor.java b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/HandlerDescriptor.java
index e1e3f6877dbcd..492ccaac49f33 100644
--- a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/HandlerDescriptor.java
+++ b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/HandlerDescriptor.java
@@ -98,14 +98,6 @@ boolean isContentTypeBuffer() {
return type.name().equals(DotNames.BUFFER);
}
- boolean isContentTypeRxBuffer() {
- Type type = getContentType();
- if (type == null) {
- return false;
- }
- return type.name().equals(DotNames.RX_BUFFER);
- }
-
boolean isContentTypeMutinyBuffer() {
Type type = getContentType();
if (type == null) {
diff --git a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/Methods.java b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/Methods.java
index 425efffb2cf97..0f436ac10466b 100644
--- a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/Methods.java
+++ b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/Methods.java
@@ -93,8 +93,6 @@ class Methods {
Void.TYPE, Multi.class, RoutingContext.class);
static final MethodDescriptor MULTI_SUBSCRIBE_BUFFER = MethodDescriptor.ofMethod(MultiSupport.class, "subscribeBuffer",
Void.TYPE, Multi.class, RoutingContext.class);
- static final MethodDescriptor MULTI_SUBSCRIBE_RX_BUFFER = MethodDescriptor.ofMethod(MultiSupport.class, "subscribeRxBuffer",
- Void.TYPE, Multi.class, RoutingContext.class);
static final MethodDescriptor MULTI_SUBSCRIBE_MUTINY_BUFFER = MethodDescriptor.ofMethod(MultiSupport.class,
"subscribeMutinyBuffer", Void.TYPE, Multi.class, RoutingContext.class);
static final MethodDescriptor MULTI_SUBSCRIBE_OBJECT = MethodDescriptor.ofMethod(MultiSupport.class, "subscribeObject",
@@ -107,9 +105,6 @@ class Methods {
static final MethodDescriptor MULTI_SSE_SUBSCRIBE_BUFFER = MethodDescriptor.ofMethod(MultiSseSupport.class,
"subscribeBuffer",
Void.TYPE, Multi.class, RoutingContext.class);
- static final MethodDescriptor MULTI_SSE_SUBSCRIBE_RX_BUFFER = MethodDescriptor.ofMethod(MultiSseSupport.class,
- "subscribeRxBuffer",
- Void.TYPE, Multi.class, RoutingContext.class);
static final MethodDescriptor MULTI_SSE_SUBSCRIBE_MUTINY_BUFFER = MethodDescriptor.ofMethod(MultiSseSupport.class,
"subscribeMutinyBuffer", Void.TYPE, Multi.class, RoutingContext.class);
static final MethodDescriptor MULTI_SSE_SUBSCRIBE_OBJECT = MethodDescriptor.ofMethod(MultiSseSupport.class,
@@ -124,8 +119,6 @@ class Methods {
"subscribeString", Void.TYPE, Multi.class, RoutingContext.class);
static final MethodDescriptor MULTI_JSON_SUBSCRIBE_BUFFER = MethodDescriptor.ofMethod(MultiJsonArraySupport.class,
"subscribeBuffer", Void.TYPE, Multi.class, RoutingContext.class);
- static final MethodDescriptor MULTI_JSON_SUBSCRIBE_RX_BUFFER = MethodDescriptor.ofMethod(MultiJsonArraySupport.class,
- "subscribeRxBuffer", Void.TYPE, Multi.class, RoutingContext.class);
static final MethodDescriptor MULTI_JSON_SUBSCRIBE_MUTINY_BUFFER = MethodDescriptor.ofMethod(MultiJsonArraySupport.class,
"subscribeMutinyBuffer", Void.TYPE, Multi.class, RoutingContext.class);
static final MethodDescriptor MULTI_JSON_SUBSCRIBE_OBJECT = MethodDescriptor.ofMethod(MultiJsonArraySupport.class,
@@ -140,9 +133,6 @@ class Methods {
.ofMethod(HttpServerResponse.class, "end", Void.TYPE, Buffer.class);
static final MethodDescriptor SET_STATUS = MethodDescriptor
.ofMethod(HttpServerResponse.class, "setStatusCode", HttpServerResponse.class, Integer.TYPE);
- static final MethodDescriptor RX_GET_DELEGATE = MethodDescriptor
- .ofMethod(io.vertx.reactivex.core.buffer.Buffer.class, "getDelegate", Buffer.class);
-
static final MethodDescriptor MUTINY_GET_DELEGATE = MethodDescriptor
.ofMethod(io.vertx.mutiny.core.buffer.Buffer.class, "getDelegate", Buffer.class);
static final MethodDescriptor JSON_ENCODE = MethodDescriptor
@@ -242,8 +232,7 @@ static ResultHandle createNpeBecauseItemIfNull(BytecodeCreator writer) {
}
static MethodDescriptor getEndMethodForContentType(HandlerDescriptor descriptor) {
- if (descriptor.isContentTypeBuffer() || descriptor.isContentTypeRxBuffer() || descriptor
- .isContentTypeMutinyBuffer()) {
+ if (descriptor.isContentTypeBuffer() || descriptor.isContentTypeMutinyBuffer()) {
return END_WITH_BUFFER;
}
return END_WITH_STRING;
diff --git a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java
index ae113db3643e7..a0d575e05399b 100644
--- a/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java
+++ b/extensions/vertx-web/deployment/src/main/java/io/quarkus/vertx/web/deployment/VertxWebProcessor.java
@@ -814,7 +814,7 @@ private static boolean isThrowable(Type paramType, IndexView index) {
private static final List TYPES_IGNORED_FOR_REFLECTION = Arrays
.asList(io.quarkus.arc.processor.DotNames.STRING,
- DotNames.BUFFER, DotNames.RX_BUFFER, DotNames.JSON_ARRAY, DotNames.JSON_OBJECT);
+ DotNames.BUFFER, DotNames.JSON_ARRAY, DotNames.JSON_OBJECT);
private static void registerForReflection(Type contentType,
BuildProducer reflectiveHierarchy) {
@@ -846,8 +846,6 @@ private void handleRegularMulti(HandlerDescriptor descriptor, BytecodeCreator wr
writer.invokeStaticMethod(Methods.MULTI_SUBSCRIBE_BUFFER, res, rc);
} else if (descriptor.isContentTypeMutinyBuffer()) {
writer.invokeStaticMethod(Methods.MULTI_SUBSCRIBE_MUTINY_BUFFER, res, rc);
- } else if (descriptor.isContentTypeRxBuffer()) {
- writer.invokeStaticMethod(Methods.MULTI_SUBSCRIBE_RX_BUFFER, res, rc);
} else if (descriptor.isContentTypeString()) {
writer.invokeStaticMethod(Methods.MULTI_SUBSCRIBE_STRING, res, rc);
} else { // Multi
-
- io.smallrye.reactive
- smallrye-axle-generator
-
-
- io.smallrye.reactive
- smallrye-reactive-streams-operators
-
-
- io.vertx
- vertx-codegen
-
-
-
-
- io.smallrye.reactive
- smallrye-axle-core
-
-
- io.smallrye.reactive
- smallrye-reactive-streams-operators
-
-
-
-
- io.vertx
- vertx-rx-java2
- io.quarkusquarkus-mutiny
diff --git a/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/runtime/VertxProducer.java b/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/runtime/VertxProducer.java
index a5640bda6da8e..fecb75c286eec 100644
--- a/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/runtime/VertxProducer.java
+++ b/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/runtime/VertxProducer.java
@@ -19,13 +19,11 @@
import io.vertx.core.eventbus.EventBus;
/**
- * Expose the Vert.x event bus and produces Mutiny, Axle (Deprecated) and Rx Vert.x (Deprecated) instances.
+ * Expose the Vert.x event bus and produces Mutiny instances.
*
* The original Vert.x instance is coming from the core artifact.
*
- * IMPORTANT: The Axle and RxJava 2 API are now deprecated. It is recommended to switch to the Mutiny API.
- *
- * IMPL NOTE: There is no need to cache the mutiny/axle/rx wrappers locally because the bean instances are stored in the
+ * IMPL NOTE: There is no need to cache the mutiny locally because the bean instances are stored in the
* singleton context, i.e. the producer method is only called once.
*/
@ApplicationScoped
@@ -45,46 +43,6 @@ public io.vertx.mutiny.core.Vertx mutiny(Vertx vertx) {
return io.vertx.mutiny.core.Vertx.newInstance(vertx);
}
- @Singleton
- @Produces
- @Deprecated
- public io.vertx.axle.core.Vertx axle(Vertx vertx) {
- LOGGER.warn(
- "`io.vertx.axle.core.Vertx` is deprecated and will be removed in a future version - it is "
- + "recommended to switch to `io.vertx.mutiny.core.Vertx`");
- return io.vertx.axle.core.Vertx.newInstance(vertx);
- }
-
- @Singleton
- @Produces
- @Deprecated
- public io.vertx.reactivex.core.Vertx rx(Vertx vertx) {
- LOGGER.warn(
- "`io.vertx.reactivex.core.Vertx` is deprecated and will be removed in a future version - it is "
- + "recommended to switch to `io.vertx.mutiny.core.Vertx`");
- return io.vertx.reactivex.core.Vertx.newInstance(vertx);
- }
-
- @Singleton
- @Produces
- @Deprecated
- public io.vertx.axle.core.eventbus.EventBus axleEventBus(io.vertx.axle.core.Vertx axle) {
- LOGGER.warn(
- "`io.vertx.axle.core.eventbus.EventBus` is deprecated and will be removed in a future version - it is "
- + "recommended to switch to `io.vertx.mutiny.core.eventbus.EventBus`");
- return axle.eventBus();
- }
-
- @Singleton
- @Produces
- @Deprecated
- public io.vertx.reactivex.core.eventbus.EventBus rxEventBus(io.vertx.reactivex.core.Vertx rx) {
- LOGGER.warn(
- "`io.vertx.reactivex.core.eventbus.EventBus` is deprecated and will be removed in a future version - it "
- + "is recommended to switch to `io.vertx.mutiny.core.eventbus.EventBus`");
- return rx.eventBus();
- }
-
@Singleton
@Produces
public io.vertx.mutiny.core.eventbus.EventBus mutinyEventBus(io.vertx.mutiny.core.Vertx mutiny) {
diff --git a/extensions/vertx/runtime/src/test/java/io/quarkus/vertx/runtime/VertxProducerTest.java b/extensions/vertx/runtime/src/test/java/io/quarkus/vertx/runtime/VertxProducerTest.java
index 1868eb04ee4f2..5d0bc6b9de611 100644
--- a/extensions/vertx/runtime/src/test/java/io/quarkus/vertx/runtime/VertxProducerTest.java
+++ b/extensions/vertx/runtime/src/test/java/io/quarkus/vertx/runtime/VertxProducerTest.java
@@ -34,14 +34,6 @@ public void shouldNotFailWithoutConfig() {
private void verifyProducer(Vertx v) {
assertThat(producer.eventbus(v)).isNotNull();
- assertThat(producer.axle(v)).isNotNull();
- assertFalse(producer.axle(v).isClustered());
- assertThat(producer.axleEventBus(producer.axle(v))).isNotNull();
-
- assertThat(producer.rx(v)).isNotNull();
- assertFalse(producer.rx(v).isClustered());
- assertThat(producer.rxEventBus(producer.rx(v))).isNotNull();
-
assertThat(producer.mutiny(v)).isNotNull();
assertFalse(producer.mutiny(v).isClustered());
assertThat(producer.mutinyEventBus(producer.mutiny(v))).isNotNull();
diff --git a/integration-tests/amazon-lambda-http/src/main/java/io/quarkus/it/amazon/lambda/GreetingVertx.java b/integration-tests/amazon-lambda-http/src/main/java/io/quarkus/it/amazon/lambda/GreetingVertx.java
index eba76c7f191e8..5a62713303abc 100644
--- a/integration-tests/amazon-lambda-http/src/main/java/io/quarkus/it/amazon/lambda/GreetingVertx.java
+++ b/integration-tests/amazon-lambda-http/src/main/java/io/quarkus/it/amazon/lambda/GreetingVertx.java
@@ -21,19 +21,6 @@ void helloPost(RoutingContext context) {
context.response().setStatusCode(200).end("hello " + name);
}
- @Route(path = "/vertx/rx/hello", methods = GET)
- void rxHelloGet(io.vertx.reactivex.ext.web.RoutingContext context) {
- context.response().headers().set("Content-Type", "text/plain");
- context.response().setStatusCode(200).end("hello");
- }
-
- @Route(path = "/vertx/rx/hello", methods = POST)
- void rxHelloPost(io.vertx.reactivex.ext.web.RoutingContext context) {
- String name = context.getBodyAsString();
- context.response().headers().set("Content-Type", "text/plain");
- context.response().setStatusCode(200).end("hello " + name);
- }
-
@Route(path = "/vertx/exchange/hello", methods = GET)
void exchange(RoutingExchange exchange) {
exchange.response().headers().set("Content-Type", "text/plain");
diff --git a/integration-tests/main/src/main/java/io/quarkus/it/reactive/ReactiveStreamOpsResource.java b/integration-tests/main/src/main/java/io/quarkus/it/reactive/ReactiveStreamOpsResource.java
index 4a52774b70f77..756847cd0c517 100644
--- a/integration-tests/main/src/main/java/io/quarkus/it/reactive/ReactiveStreamOpsResource.java
+++ b/integration-tests/main/src/main/java/io/quarkus/it/reactive/ReactiveStreamOpsResource.java
@@ -5,7 +5,7 @@
import org.eclipse.microprofile.reactive.streams.operators.ReactiveStreams;
-import io.reactivex.Flowable;
+import io.smallrye.mutiny.Multi;
@Path("/reactive")
public class ReactiveStreamOpsResource {
@@ -27,10 +27,10 @@ public String stream1() {
}
@GET
- @Path("/stream-rx")
+ @Path("/stream-mutiny")
public String stream2() {
StringBuilder builder = new StringBuilder();
- ReactiveStreams.fromPublisher(Flowable.fromArray("d", "e", "f"))
+ ReactiveStreams.fromPublisher(Multi.createFrom().items("d", "e", "f"))
.map(String::toUpperCase)
.forEach(builder::append)
.run();
diff --git a/integration-tests/main/src/test/java/io/quarkus/it/main/ReactiveStreamsOperatorsTestCase.java b/integration-tests/main/src/test/java/io/quarkus/it/main/ReactiveStreamsOperatorsTestCase.java
index d3b5b5791f461..ca9f1c1dae491 100644
--- a/integration-tests/main/src/test/java/io/quarkus/it/main/ReactiveStreamsOperatorsTestCase.java
+++ b/integration-tests/main/src/test/java/io/quarkus/it/main/ReactiveStreamsOperatorsTestCase.java
@@ -17,8 +17,8 @@ public void testReactiveStreams() {
}
@Test
- public void testRxJava2() {
- RestAssured.when().get("/reactive/stream-rx").then()
+ public void testMutiny() {
+ RestAssured.when().get("/reactive/stream-mutiny").then()
.body(is("DEF"));
}
diff --git a/integration-tests/vertx/pom.xml b/integration-tests/vertx/pom.xml
index 338d80b646b8a..25d6539a7969c 100644
--- a/integration-tests/vertx/pom.xml
+++ b/integration-tests/vertx/pom.xml
@@ -18,6 +18,10 @@
io.quarkusquarkus-resteasy