Définit une interface standard de programmation réactive basée sur les Reactive Streams, destinée aux interactions avec les bases de données relationnelles. Reactive Streams R2DBC SPI R2DBC Driver X
spring: r2dbc: url: r2dbc:postgresql://localhost:15432/robot_db username: king_of_salsa password: un_truc_hyper_compliqué_noté_qqpart Tout commence par un peu de conf…
@Transactional public Mono create(Robot robot, Movie movie) { return robotRepository.save(robot) .then(movieRepository.save(movie)) .then(); } Et avec un zeste de transaction ! public Mono create(Robot robot, Movie movie) { TransactionalOperator rxtx = TransactionalOperator.create(reactiveTxManager ); return robotRepository.save(robot) .then(movieRepository.save(movie)) .then() .as(rxtx::transactional); }
En résumé… Qu’a-t-on vu ? - Initiative plus qu’intéressante pour standardiser l’accès aux bases de données relationnelles en mode réactif - Il y a aussi des transactions, du batch, des entity callbacks, de l’observability, … - Support de la communauté (clients, drivers, …) - On peut faire du R2DBC sans aucun autre framework, mais ça va être un peu roots :) Mais il reste du boulot ! - Des frameworks en cours de mises à jour (Liquibase, …) - Spring : pas de support des relations dans les entités :(