Пружинная загрузка, реактивная (Webflux) с MySql - PullRequest
0 голосов
/ 08 ноября 2018

Я бы разработал загрузочное приложение Spring, совместимое с новой функцией Webflux. Существует ли драйвер JDBC для Mysql?

Я нашел только драйвер для некоторой БД NoSql (например, MongoDB).

Не могли бы вы помочь мне? Спасибо, привет.

Ответы [ 3 ]

0 голосов
/ 08 ноября 2018

Нет, для MySQl нет реактивного драйвера. Есть один для Postgres:

https://github.com/r2dbc/r2dbc-client

он использует все реактивные биты из ректора проекта (коллекции возвращаются как поток). Конечно, вы вернулись к работе с подготовленными заявлениями. И получение данных непосредственно из результатов Serch.

И тот, что для оракула DB:

https://github.com/oracle/oracle-db-examples/tree/master/java/AoJ

Но он использует блокирующие вызовы JDBC и скрывает проблему только за пулом потоков. Однако это представляет текущие усилия в Oracle для решения этой проблемы. И это не тривиальная вещь, поскольку существует определенная философия при работе с реляционными базами данных согласованного состояния. Вот почему результат вашего запроса возвращается сразу, в отличие от mongodb, который может возвращать результат по мере поступления.

Из-за этого ни один инструмент ORM (hibernate, eclipselink) отсутствует. Я думаю, что для производственного кода мы застряли с блокировкой вызовов на данный момент.

0 голосов
/ 23 июля 2019

Асинхронный драйвер для MySQL существует и называется jasync-sql:

https://github.com/jasync-sql/jasync-sql

0 голосов
/ 08 ноября 2018

На самом деле нет никакой реактивной поддержки для реляционной базы данных. Но недолго с тех пор, как Spring Team работает над R2DBC, он предоставит возможность реактивного доступа к данным из реляционной базы данных. Оставайтесь с нами здесь: https://github.com/r2dbc

...