Bienvenue dans ce **Coding Dojo** ciblé sur l'usage de la programmation réactive, en utilisant les projets **RX Java 2** et **Reactor**.
Bienvenue dans ce **Coding Dojo** ciblé sur l'usage de la programmation réactive, en utilisant les projets **Rx Java 2** et **Reactor**.
Ce **Coding Dojo** est découpé en deux parties.
- La première partie sur **RX Java** pour apprendre les concepts de la programmation réactive, les bases de **RX Java**, la création de flux, les opérateurs, les **Scheduler** et les tests.
- La première partie sur **Rx Java** pour apprendre les concepts de la programmation réactive, les bases de **Rx Java**, la création de flux, les opérateurs, les **Scheduler** et les tests.
- La deuxième partie est axée sur la construction d'une une application web avec un flux réactif de bout en bout. Pour réaliser cette application, nous utiliserons le projet **Reactor** et le module **WebFlux** de **Spring** 5.
Bienvenue dans ce **Coding Dojo** ciblé sur l'usage de la programmation réactive, en utilisant le projet **RX Java 2**.
Bienvenue dans ce **Coding Dojo** ciblé sur l'usage de la programmation réactive, en utilisant le projet **Rx Java 2**.
RX Java 2 est une librairie implémentant le paradigme de la programmation réactive. Dans ce **Coding Dojo**, vous apprendrez comment utiliser **RX Java 2**, les concepts, les opérateurs and les bonnes pratiques.
Rx Java 2 est une librairie implémentant le paradigme de la programmation réactive. Dans ce **Coding Dojo**, vous apprendrez comment utiliser **Rx Java 2**, les concepts, les opérateurs and les bonnes pratiques.
## Frameworks
Ci-dessous la liste des Frameworks utilisés :
* Java 11
* RX Java 2.2.4
* JUnit 5
* Lombok 1.18.4
* Rx Java 2.2
* Lombok
* SLF4J
* Logback
* Etc.
...
...
@@ -31,7 +30,7 @@ Un **Observer** peut recevoir 3 types d'événements notifié par l'une des 3 m
-**onComplete**: notifie la fin du flux. **onNext** ne sera plus appelée
-**onError**: notifie qu'une erreur est arrivée. Le flux n'émettra plus d'éléments, **onComplete** n'est pas appelée.
RxJava met à disposition 3 méthodes à la disposition lors de la souscription.
RxJava met à disposition 3 méthodes à la disposition lors de la souscription.
- notifie les éléments : `stream.subscribe(item -> {});`
@@ -87,7 +86,7 @@ RX Java possède plusieurs types Java afin de spécialiser certains flux :
Operators
RX Java est riche en opérateurs. Un opérateur permet d'altérer un flux d'événements ainsi obtenir un nouveau flux. Dans cette section, nous allons introduire certains des opérateurs les plus utilisés.
Rx Java est riche en opérateurs. Un opérateur permet d'altérer un flux d'événements ainsi obtenir un nouveau flux. Dans cette section, nous allons introduire certains des opérateurs les plus utilisés.
Il existe différents types d'opérateurs classés par catégorie.
...
...
@@ -107,13 +106,13 @@ Nous allons étudier les émissions de flux asynchrone, une émission asynchrone
Les **Scheduler** de RX Java peuvent changer le comportement des `thread` d'émission et de souscription. Par exemple, nous pouvons choisir le `thread` qui émet le flux de données. Un **Scheduler** est très similaire à un **Executor** du JDK.
RX Java gére la concurrence à notre place avec deux méthodes : `subscribeOn` pour changer le `thread` de l'émetteur et `observerOn` pour changer le `thread` du consommateur.
Rx Java gére la concurrence à notre place avec deux méthodes : `subscribeOn` pour changer le `thread` de l'émetteur et `observerOn` pour changer le `thread` du consommateur.
### G. Level 7
Testing
RX Java fournit un opérateur appelé `test` permettant de retourner une instance **TestObserver**
Rx Java fournit un opérateur appelé `test` permettant de retourner une instance **TestObserver**
Cet utilitaire permet de vérifier différents types de résultat attendu
...
...
@@ -122,4 +121,4 @@ Cet utilitaire permet de vérifier différents types de résultat attendu
- Que le nombre d'éléments est correct
- Que les éléments arrivent bien dans l'ordre
RX Java fournit un deuxième utilitaire très utile pour les tests. Il s'agit de la classe **TestScheduler**, un scheduler conçu pour les tests. Il permet de contrôler l'horloge comme avancer le temps !
\ No newline at end of file
Rx Java fournit un deuxième utilitaire très utile pour les tests. Il s'agit de la classe **TestScheduler**, un scheduler conçu pour les tests. Il permet de contrôler l'horloge comme avancer le temps !