Почему Spring Boot имеет две разные реализации ReactiveX? - PullRequest
0 голосов
/ 15 января 2019

Spring Boot имеет две разные зависимости, каждая из которых реализует один и тот же API : Project Reactor и RxJava 2 . Вы можете проверить зависимости при весенней загрузке здесь . Так почему дублирование?

Есть ли причина использовать одно на другом на практике?

1 Ответ

0 голосов
/ 16 января 2019

Имейте в виду, что это не прямая и обязательная зависимость, а спецификация, которая определяет, какие версии являются предпочтительными, и хорошо работает для этой версии Spring Boot . Если вы не используете RxJava2 (или проект Spring, который явно использует), вы не будете извлекать зависимость. Если вы это сделаете и не укажете версию, вы получите ее по этой ссылке.

Теперь, почему вы спрашиваете RxJava2 И Reactor? Стек WebFlux Spring Framework построен на основе Reactor, но Spring всегда имел выбор . Поскольку RxJava2 и Reactor реализуют спецификацию Reactive Streams , они совместимы. Поэтому, если вы предпочитаете, чтобы пользовательский код работал с типами RxJava2 (или даже с типами RxJava 1), Spring выполнит преобразование за вас.

Сантехнические работы по-прежнему выполняются с использованием Reactor , и, таким образом, это предпочтительная реализация для вас, но это ваше дело.

...