MNP_Projekt_2/src/main/java/com/example/AkkaMainSystem.java

38 lines
1.3 KiB
Java
Raw Normal View History

2023-05-03 12:02:18 +02:00
package com.example;
import akka.actor.typed.ActorRef;
import akka.actor.typed.Behavior;
2024-07-01 15:02:13 +02:00
import akka.actor.typed.javadsl.AbstractBehavior;
import akka.actor.typed.javadsl.ActorContext;
import akka.actor.typed.javadsl.Behaviors;
import akka.actor.typed.javadsl.Receive;
2023-05-03 12:02:18 +02:00
public class AkkaMainSystem extends AbstractBehavior<AkkaMainSystem.Create> {
public static class Create {
}
public static Behavior<Create> create() {
return Behaviors.setup(AkkaMainSystem::new);
}
private AkkaMainSystem(ActorContext<Create> context) {
super(context);
}
@Override
public Receive<Create> createReceive() {
return newReceiveBuilder().onMessage(Create.class, this::onCreate).build();
}
private Behavior<Create> onCreate(Create command) {
2024-07-01 15:02:13 +02:00
Expression expression = Expression.generateExpression(6, 9);
//Vergleich mit dem Output der Berechnung zum Testen
System.out.println("SOLL: "+expression+ " Wert:" +expression.eval() + " Runtime: " + expression.runtime() + " Sekunden");
//#create-actors
ActorRef<PrintAndEvaluate.Message> computer = this.getContext().spawn(PrintAndEvaluate.create("Rechner"), "rechner");
computer.tell(new PrintAndEvaluate.StartMessage(expression));
2023-05-03 12:02:18 +02:00
return this;
}
}