|
Akka/Scala example source code file (StatsService.java)
The StatsService.java Akka example source codepackage sample.cluster.stats; import sample.cluster.stats.StatsMessages.StatsJob; import akka.actor.ActorRef; import akka.actor.Props; import akka.actor.UntypedActor; import akka.routing.ConsistentHashingRouter.ConsistentHashableEnvelope; import akka.routing.FromConfig; //#service public class StatsService extends UntypedActor { // This router is used both with lookup and deploy of routees. If you // have a router with only lookup of routees you can use Props.empty() // instead of Props.create(StatsWorker.class). ActorRef workerRouter = getContext().actorOf( FromConfig.getInstance().props(Props.create(StatsWorker.class)), "workerRouter"); @Override public void onReceive(Object message) { if (message instanceof StatsJob) { StatsJob job = (StatsJob) message; if (job.getText().equals("")) { unhandled(message); } else { final String[] words = job.getText().split(" "); final ActorRef replyTo = getSender(); // create actor that collects replies from workers ActorRef aggregator = getContext().actorOf( Props.create(StatsAggregator.class, words.length, replyTo)); // send each word to a worker for (String word : words) { workerRouter.tell(new ConsistentHashableEnvelope(word, word), aggregator); } } } else { unhandled(message); } } } //#service Other Akka source code examplesHere is a short list of links related to this Akka StatsService.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.