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

40 lines
1.4 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;
import akka.actor.typed.javadsl.*;
2024-05-15 01:29:12 +02:00
import java.util.ArrayList;
import java.util.Arrays;
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) {
//#create-actors
2024-05-15 01:29:12 +02:00
ActorRef<Customer.Message> a = this.getContext().spawn(Customer.create("Alice"), "alice");
ActorRef<Customer.Message> b = this.getContext().spawn(Customer.create("Bob"), "bob");
ActorRef<Customer.Message> c = this.getContext().spawn(Customer.create("Charlie"), "charlie");
ActorRef<ExampleTimerActor.Message> timerActor = this.getContext().spawn(ExampleTimerActor.create(), "timeractor");
2023-05-03 12:02:18 +02:00
//#create-actors
2024-05-15 01:29:12 +02:00
ArrayList<ActorRef<Customer.Message>> actors = new ArrayList<>(Arrays.asList(a,b,c));
ActorRef<AddressBook.Message> adressBook = this.getContext().spawn(AddressBook.create(actors), "addressbook");
2023-05-03 12:02:18 +02:00
return this;
}
}