Blog Post
Konsumieren asynchroner HTTP-APIs mit Java 8
Es ist heutzutage nicht unüblich, für eine eigene Anwendung auf externe Services
zurückzugreifen. Manchmal dauern
diese Anfragen einige Sekunden, in denen die Anwendung auf das Ergebnis warten muss.
Vorteilhafter wäre hier eine asynchrone Kommunikation mit dem Service, sodass die
Anwendung parallel noch andere Dinge tun kann. Mit der Einführung von Completable
Futures in Java 8 lässt sich eine elegante Lösung für diese Kommunikation mit
asynchronen HTTP-APIs umsetzen. Statt Ewigkeiten auf die Fertigstellung langläufiger
Anfragen warten zu müssen, kann über das Future zum gewünschten Zeitpunkt auf das
Ergebnis zugegriffen werden, wenn es möglicherweise bereits fertig berechnet ist.
Ein Problem stellt jedoch die Entscheidung darüber dar, wann das Future als komplett
bewertet werden kann. In diesem Blogpost wird dieses Problem sowie ein Lösungsweg
betrachtet und anhand eines Beispiels praxisnah beschrieben.