Commit d7fcc0cf authored by Julien SADAOUI's avatar Julien SADAOUI
Browse files

feat: upgrade spring-boot version at 2.1.3

parent 5062549f
# Coding Dojo : Reactive Programming
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.
\ No newline at end of file
# Coding Dojo : RX Java
# Coding Dojo : Rx Java
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.
Rx Java met à disposition 3 méthodes à la disposition lors de la souscription.
- notifie les éléments : `stream.subscribe(item -> {});`
- notifie une erreur : `stream.subscribe(item -> {}, error -> {});`
- notifie la fin du flux : `stream.subscribe(item -> {}, error -> {}, () -> {});`
......@@ -65,7 +64,7 @@ Contrairement à un **Cold Stream**, un **HotStream** envoie les mêmes élémen
Les types de flux
RX Java possède plusieurs types Java afin de spécialiser certains flux :
Rx Java possède plusieurs types Java afin de spécialiser certains flux :
| Type | Description | Back pressure |
| ------------- | ---------------------------------------------------------------------|:--------------:|
......@@ -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 !
plugins {
id("java")
id("org.springframework.boot") version "2.1.1.RELEASE"
id("org.springframework.boot") version "2.1.3.RELEASE"
id("idea")
}
......
......@@ -32,12 +32,14 @@ Les frameworks utilisés pour ce coding dojo sont nombreux. Ci-dessous une liste
* Java 11
* JUnit 5
* Lombok 1.18.4
* Reactor 3.2.3
* Spring Boot 2.1.1
* Spring WebFlux 5.1.3
* Spring Security 5.1.2
* Netty 4.1.31
* Lombok
* Reactor 3.2
* Spring Boot 2.1
* Spring Framework 5.4
* Spring Data Mongo
* Spring WebFlux
* Spring Security
* Netty 4.1
* MongoDB
* Mongobee
* Etc.
......
plugins {
id("java")
id("org.springframework.boot") version "2.1.1.RELEASE"
id("org.springframework.boot") version "2.1.3.RELEASE"
id("idea")
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment