|
Akka/Scala example source code file (CreationApplication.java)
The CreationApplication.java Akka example source code
package sample.remote.calculator;
import static java.util.concurrent.TimeUnit.SECONDS;
import java.util.Random;
import scala.concurrent.duration.Duration;
import akka.actor.ActorRef;
import akka.actor.ActorSystem;
import akka.actor.Props;
import com.typesafe.config.ConfigFactory;
public class CreationApplication {
public static void main(String[] args) {
if (args.length == 0 || args[0].equals("CalculatorWorker"))
startRemoteWorkerSystem();
if (args.length == 0 || args[0].equals("Creation"))
startRemoteCreationSystem();
}
public static void startRemoteWorkerSystem() {
ActorSystem.create("CalculatorWorkerSystem",
ConfigFactory.load(("calculator")));
System.out.println("Started CalculatorWorkerSystem");
}
public static void startRemoteCreationSystem() {
final ActorSystem system = ActorSystem.create("CreationSystem",
ConfigFactory.load("remotecreation"));
final ActorRef actor = system.actorOf(Props.create(CreationActor.class),
"creationActor");
System.out.println("Started CreationSystem");
final Random r = new Random();
system.scheduler().schedule(Duration.create(1, SECONDS),
Duration.create(1, SECONDS), new Runnable() {
@Override
public void run() {
if (r.nextInt(100) % 2 == 0) {
actor.tell(new Op.Multiply(r.nextInt(100), r.nextInt(100)), null);
} else {
actor.tell(new Op.Divide(r.nextInt(10000), r.nextInt(99) + 1),
null);
}
}
}, system.dispatcher());
}
}
Other Akka source code examplesHere is a short list of links related to this Akka CreationApplication.java source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 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.