Готовое решение для асинхронной работы с базой, есть ли?
Всем привет.
Есть ли какое готовое решение для работы с базой (использую драйвер от mariadb) в асинхронном режиме с пулом потоков?
В гугле ничего не нашёл.
Сейчас на каждое активное подключение создаю отдельный поток в котором собственно и работаю с БД.
Но всё контролировать сложно, малейшая ошибка и всё может рухнуть - готовое и протестированное решение пришлось бы очень кстати. К тому же моя реализация явно не лучшая (да и не правильная).
Сергей Горностаев, а что, прозрачное переключение потоков уже отменили? subscribeOn/observerOn, не? Какой ещё fluent-style method calls *обеспечивает* rxjava? Она его использует, да. Считать его основным качеством? Ни в коем случае.
Алексей Черемисин, Денис Загаевский, я могу ошибаться, конечно же. Можете продемонстрировать пример использования RxJava с JDBC, наглядно демонстрирующий неблокируемое применение?
На гитхабе целая куча обёрток для jdbc-драйверов, эмулирующих асинхронность с помощью пула потоков. Но чего-то действительно хорошего и общепризнанного я тоже не встречал. Есть надежда на обещанный в Java 10 асинхронный JDBC, но пока самый гармоничный способ асинхронной работы с БД - это заворачивать запросы в CompletableFuture.
Сергей Горностаев, Хм, как-то я этот момент упустил (что, "Java перешла на полугодовые релизные циклы").
Ну будем надеяться что всё же включат в первый релиз.