What is the difference between io.vertx.reactivex and io.vertx.rxjava?

532 views
Skip to first unread message

David Moles

unread,
Nov 14, 2017, 2:07:24 PM11/14/17
to vert.x

I'm new to Vert.x, ReactiveX, and RxJava, and I'm trying to sort through the mass of generated packages to figure out how to build a non-blocking REST endpoint on top of a reactive back-end.

When I look at the package summaries for io.vertx.rxjava.ext.web and io.vertx.reactivex.ext.web, they are unsurprisingly very similar; likewise io.vertx.rxjava.core and io.vertx.reactivex.core, although the latter has more helper classes. When you drill down to the RxHelper classes, though, the rxjava and reactivex versions are totally different.

It looks like the ReactiveX version might be more current, since it refers to RxJava2 classes like Single. Is that correct? And if so, what Maven artifact do I need to use it?

Blake

unread,
Nov 14, 2017, 8:34:14 PM11/14/17
to vert.x
ReactiveX is, indeed, the more "current" RX extension. It uses RxJava2, while the rxjava extension uses RxJava (1). To use ReactiveX (rxjava2), you use "io.vertx:vertx-rx-java2:3.5.0" -- i think the examples may be one of the few places where this is actually shown/documented (it's not even documented in the manual). This naming scheme is a bit weird. Soon i'm gonna create a pull request and put the maven/gradle dependency at the beginning of each packages manual.

David Moles

unread,
Nov 15, 2017, 3:00:21 PM11/15/17
to vert.x
Thanks, & +1 for adding the dependencies to the package manuals.
Reply all
Reply to author
Forward
0 new messages