Exemples d’API

Examinons maintenant quelques exemples d’utilisation de Vert.x avec RxJava.  Vert.x RxJava

Le bus d’événement MessageConsumer fournit naturellement un Observable<Message<T>> :

EventBus eb = vertx.eventBus(); 
MessageConsumer<String> consumer = eb.<String>consumer("the-address"); 
Observable<Message<String>> observable = consumer.toObservable(); 
Subscription sub = observable.subscribe(msg -> { 
 // Réception d'un message 
}); 
 
// Désenregistrement du stream après 10 secondes 
vertx.setTimer(10000, id -> { 
 sub.unsubscribe(); 
}); 

Le MessageConsumer fournit un flux de messages. Le body donne accès à un nouveau flux de corps de messages si nécessaire :

EventBus eb = vertx.eventBus(); 
MessageConsumer<String> consumer = eb.<String>consumer("the-address"); 
Observable<String> observable = consumer.bodyStream().toObservable(); 

Le style de composition map/reduce peut alors être utilisé :

Observable<Double> observable = vertx.eventBus(). 
   <Double>consumer("heat-sensor"). 
   bodyStream(). 
   toObservable(); 
 
observable. 
   buffer(1, TimeUnit.SECONDS). 
   map(samples -> samples. 
       stream(). 
       collect(Collectors.averagingDouble(d ->...
Pour consulter la suite, découvrez le livre suivant :
couv_EPREAJASP.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
API Rx-ified
Suivant
Client WebSocket