Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate RxJava 1 in favor of RxJava 2+3 [SPR-15062] #19628

Closed
spring-projects-issues opened this issue Dec 28, 2016 · 6 comments
Closed

Deprecate RxJava 1 in favor of RxJava 2+3 [SPR-15062] #19628

spring-projects-issues opened this issue Dec 28, 2016 · 6 comments
Assignees
Labels
type: task A general task
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

spring-projects-issues commented Dec 28, 2016

Juergen Zimmermann opened SPR-15062 and commented

Dávid Karnok classifies reactive libraries into 0..4 generations at http://akarnokd.blogspot.de/2016/03/operator-fusion-part-1.html. IMHO Project Reactor and RxJava 2 belong to the 4th (and latest) generation while RxJava 1.x belongs to the 2nd generation.
https://github.com/ReactiveX/RxJava/tree/2.x shows the development activites for RxJava 2.


Affects: 5.0 M3

Reference URL: http://akarnokd.blogspot.de/2016/03/operator-fusion-part-1.html

Issue Links:

@spring-projects-issues
Copy link
Collaborator Author

Juergen Hoeller commented

We are generally very Reactor-focused, with RxJava 2 support being a bonus as an immediate alternative. On the other hand, our RxJava 1 support is a purely pragmatic effort: There is a lot of existing RxJava 1 code and expertise out there, including existing datastore drivers etc, so naturally understanding RxJava 1 types seems like a typical Spring thing to do.

Rossen Stoyanchev, what's your end-of-2016 take on this?

@spring-projects-issues
Copy link
Collaborator Author

Rossen Stoyanchev commented

The Netflix OSS stack to my knowledge is still on RxJava 1 and so a project using Spring Cloud with Hystrix today would have to use RxJava 1. RxNetty which we explicitly support in the Spring Framework is also on RxJava 1.

Furthermore I don't even know what it would mean to deprecate RxJava 1 from a Spring Framewok perspecitve. We don't have a hard dependency on RxJava anywhere. The only imports are in the ReactiveAdapterRegistry which is an adaptation abstraction so by definition its purpose is to adapt. The only others are RxNetty related classes which we obviously can't deprecate either.

So really in the end this request makes sense in the RxNetty issue tracker or the Netflix OSS stack, but not much to do here.

@spring-projects-issues
Copy link
Collaborator Author

Juergen Hoeller commented

Alright, I guess we can close this from our perspective then, keeping up RxJava 1 support for the time being.

@spring-projects-issues
Copy link
Collaborator Author

Juergen Hoeller commented

Since RxJava 1.x officially reached EOL now, this one is worth revisiting... maybe not for our 5.1 quite yet but at least for 5.2.

@spring-projects-issues spring-projects-issues added in: web Issues in web modules (web, webmvc, webflux, websocket) type: task A general task labels Jan 11, 2019
@spring-projects-issues spring-projects-issues added this to the 5.x Backlog milestone Jan 11, 2019
@poutsma
Copy link
Contributor

poutsma commented Jan 29, 2019

I feel that the amount of RxJava 1.x code out there has not diminished, regardless of EOL. I vote to keep RxJava 1.x support in for 5.2.

@jhoeller jhoeller modified the milestones: 5.x Backlog, 5.3 M1 Dec 9, 2019
@jhoeller
Copy link
Contributor

jhoeller commented Dec 9, 2019

With the launch of RxJava 3 next year, it'll be a good time to deprecate RxJava 1.x at least in our Spring Framework 5.3 timeframe.

@jhoeller jhoeller added in: core Issues in core modules (aop, beans, core, context, expression) and removed in: web Issues in web modules (web, webmvc, webflux, websocket) labels Dec 9, 2019
@jhoeller jhoeller changed the title Deprecate RxJava 1 in favor of RxJava 2 [SPR-15062] Deprecate RxJava 1 in favor of RxJava 2+3 [SPR-15062] Dec 9, 2019
@rstoyanchev rstoyanchev self-assigned this May 7, 2020
kenny5he pushed a commit to kenny5he/spring-framework that referenced this issue Jun 21, 2020
@jhoeller jhoeller removed the in: core Issues in core modules (aop, beans, core, context, expression) label Sep 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: task A general task
Projects
None yet
Development

No branches or pull requests

4 participants