2. onSubscribe (subscription) 4. onNext(“R2D2”) 5. onComplete / onError ET SI C’ETAIT UNE REQUETE… Subscription 4. onNext(“C3PO”) 4. onNext(“BB-8”) SELECT name FROM robot
.then(movieRepository.save(movie)) .then(); } ET AVEC UN ZESTE DE TRANSACTION! public Mono<Void> create(Robot robot, Movie movie) { TransactionalOperator rxtx = TransactionalOperator.create(reactiveTxManager ); return robotRepository.save(robot) .then(movieRepository.save(movie)) .then() .as(rxtx::transactional); }
d’exécution ? - AbstractR2dbcRouting : configuration des différentes connexions - AbstractRoutingConnectionFactory : fournit la clé de sélection de la connexion
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 :(