package com.example; import akka.actor.typed.ActorRef; import akka.actor.typed.Behavior; import akka.actor.typed.javadsl.*; import java.util.ArrayList; import java.util.Arrays; public class AkkaMainSystem extends AbstractBehavior { public static class Create { } public static Behavior create() { return Behaviors.setup(AkkaMainSystem::new); } private AkkaMainSystem(ActorContext context) { super(context); } @Override public Receive createReceive() { return newReceiveBuilder().onMessage(Create.class, this::onCreate).build(); } private Behavior onCreate(Create command) { //#create-actors ActorRef a = this.getContext().spawn(Customer.create("Alice"), "alice"); ActorRef b = this.getContext().spawn(Customer.create("Bob"), "bob"); ActorRef c = this.getContext().spawn(Customer.create("Charlie"), "charlie"); ActorRef timerActor = this.getContext().spawn(ExampleTimerActor.create(), "timeractor"); //#create-actors ArrayList> actors = new ArrayList<>(Arrays.asList(a,b,c)); ActorRef adressBook = this.getContext().spawn(AddressBook.create(actors), "addressbook"); return this; } }