Développeurs Java
Avoir suivi le stage "Java initiation+approfondissement" ou posséder les connaissances équivalentes - Notions en programmation fonctionnelle
Comprendre l'intérêt de la programmation réactive - Connaître la spécification Reactive Stream et ses implémentations (Reactor, RxJava, Java 9 Flow)- Maîtriser la librairie Reactor- Traiter des problèmes de programmation concurrente - S'appuyer sur un modèle de communication asynchrone
Programmation réactive: concepts, intérêtTour d'horizon de l'écosystème
La programmation fonctionnelleUtilisation des lambdasPattern ObserverLes opérateursPublisher et SubscriberFlux d'événements asynchroneImplémentation par Reactor (Flux/Mono) et RxJava
Atelier: Multiples exemples d'implémentations réactives
La souscription avec subscriber() Gestion de la contre-pression (backpressure) Gestion du multithreading et la concurrence avec Reactor Les Publishers de Reactor Eager vs lazy: comparatifs entre just(), defer() et ses dérivés push vs pull: stratégies de gestion de la contre-pression (backpressure) hot vs cold: cas d'usage avec les processors Comparatif avec RxJava Les opérateurs de Reactor Transformer et filtrer les événements Combiner plusieurs sources Écrire son propre opérateur Tests unitaires avec StepVerifier
Atelier: Mise en place de Reactor - Utilisation des interfaces publisher et subscriber - Utilisation des Schedulers - Gestion des erreurs et tests unitaires
Méthodologie basée sur l'Active Learning : 75% de pratique minimum. Chaque point théorique est systématiquement suivi d'exemples et exercices.
Contrôle continu
Attestation de fin de stage mentionnant le résultat des acquis