Book Image

Mastering Akka

By : Christian Baxter
Book Image

Mastering Akka

By: Christian Baxter

Overview of this book

For a programmer, writing multi-threaded applications is critical as it is important to break large tasks into smaller ones and run them simultaneously. Akka is a distributed computing toolkit that uses the abstraction of the Actor model, enabling developers to build correct, concurrent, and distributed applications using Java and Scala with ease. The book begins with a quick introduction that simplifies concurrent programming with actors. We then proceed to master all aspects of domain-driven design. We’ll teach you how to scale out with Akka Remoting/Clustering. Finally, we introduce Conductr as a means to deploy to and manage microservices across a cluster.
Table of Contents (17 chapters)
Mastering Akka
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Preface

Refactoring homework


There are still a couple of more places in the code that need Akka Streams based refactoring work, which will be done by you as homework. The first place is really a continuation of the work that we did in the previous section. As part of that refactoring, we built a system where a ViewBuilder class can define a subflow to handle the DeferredCreate situation. We have one such situation with the SalesOrderViewBuilder class where we need to define that subflow. This is one of the pieces of work that you will need to do for this chapter. Go into the -incomplete code folder for this chapter and fill in the subflow implementation for the OrderCreated event handling. Currently, I have stubbed that flow out, as follows:

val flow = Flow[EnvelopeAndAction] 

As it stands, this Flow will do nothing, just passing the input EnvelopeAndAction back out as it is. You will need to add processing stages to this Flow so that it loads the books for each line item and then uses that...