Atelier RxJava, les mains dans le code (DevoxxFr2015)
Slides pour l'atelier de découverte de RxJava par la pratique, une migration d'application legacy. Le squelette du code est disponible sur http://bit.ly/PracticalRx
Temps de traitement, Concurrence -> n'importe quelle opération qui peut Bloquer • Bloquer c’est Mal, voyez? • Toi aussi deviens asynchrone, composable, lisible.
si simple • Java Future • Callback • Entre la gestion d’erreur, d’exceptions, annulations, synchro, threading • Et on n’a pas encore abordé la lisibilité du code….
un Observer • Un Observer a 3 actions: onNext, onError, onCompleted • Le flux est composable et permet d’être plus descriptif dans ce que l’on veux faire • transformer • filtrer • combiner • gérer les erreurs de manière avancée • intégrer la notion de temporalité
flux • onNext: injecter le résultat via setResult • onError: créer une DogePoolException et l’injecter via setErrorResult •retourner le DeferredResult immédiatement
dans AdminService •Ajouter une méthode à ExchangeRateService • utiliser la propriété exchange.nonfree.api.baseUrl •Basculer grâce à OnErrorResumeNext •Utiliser les effets de bord • logger les appels basculés, enregistrer l'impact en coût
Fusion Panda CC-BY-NC Domonated on DeviantArt http://domonated.deviantart.com/art/dragon-ball-z-fusion-298515441 Sandpit CC0 http://en.wikipedia.org/wiki/Sandpit#/media/File:Sandpit.jpg DBZ Cosplayer at DaishoCon CC-BY ygktech on Flickr https://www.flickr.com/photos/ygktech/15905787661/ Tumbeast Gnawing on Servers CC-BY Matthew Inman http://en.wikipedia.org/wiki/Error_message#/media/File:Tumbeasts_servers.png Kane Cleaning Supplies CC-BY collinanderson on Flickr https://www.flickr.com/photos/collinanderson/2912308728 Chain CC0 http://commons.wikimedia.org/wiki/File:Chain_1.JPG Marble Diagrams (all) CC-BY ReactiveX Documentation http://reactivex.io/ Office Space still Copyright 20th Century Fox Broken Keyboard CC-BY Santeri Viinamäki on Wikimedia http://upload.wikimedia.org/wikipedia/commons/0/02/Broken_keyboard.jpg Black Hole with Corona CC0 Public Domain - NASA http://upload.wikimedia.org/wikipedia/commons/8/89/PIA16695-BlackHole- Corona-20130227.jpg Gobots Toys CC-BY Tom Prankerd on Wikimedia http://upload.wikimedia.org/wikipedia/en/f/f6/GobotToys.jpg Woman Smoking Cigar in Cuba CC-BY Tibor Végh on Wikimedia http://commons.wikimedia.org/wiki/File:Cigar_smoking_woman_in_Cuba.jpg Coffee Filter CC0 Public Domain http://pixabay.com/fr/caf%C3%A9-filtre-caf%C3%A9ine-boire-690965/ Abacus CC0 Public Domain http://pixabay.com/fr/abaque-comptent-les-math%C3%A9matiques-485704/ Trap CC-BY-SA anticiv on Flickr https://www.flickr.com/photos/anticiv/294895884/ Crédits