static public Props props(String message, ActorRef printerActor) { return Props.create(Greeter.class, () -> new Greeter(message, printerActor)); }
@Override public Receive createReceive() { return receiveBuilder() .match(WhoToGreet.class, wtg -> { this.greeting = message + ", " + wtg.who; }) .match(Greet.class, x -> { //#greeter-send-message printerActor.tell(new Greeting(greeting), getSelf()); //#greeter-send-message }) .build(); } //#greeter-messages
system.actorOf(Printer.props(), "printerActor"); final ActorRef howdyGreeter = system.actorOf(Greeter.props("Howdy", printerActor), "howdyGreeter"); final ActorRef helloGreeter = system.actorOf(Greeter.props("Hello", printerActor), "helloGreeter"); final ActorRef goodDayGreeter = system.actorOf(Greeter.props("Good day", printerActor), "goodDayGreeter");
system.actorOf(Printer.props(), "printerActor"); final ActorRef howdyGreeter = system.actorOf(Greeter.props("Howdy", printerActor), "howdyGreeter"); final ActorRef helloGreeter = system.actorOf(Greeter.props("Hello", printerActor), "helloGreeter"); final ActorRef goodDayGreeter = system.actorOf(Greeter.props("Good day", printerActor), "goodDayGreeter");
@Test public void testGreeterActorSendingOfGreeting() { final TestKit testProbe = new TestKit(system); final ActorRef helloGreeter = system.actorOf(Greeter.props("Hello", testProbe.getRef())); helloGreeter.tell(new WhoToGreet("Akka"), ActorRef.noSender()); helloGreeter.tell(new Greet(), ActorRef.noSender()); Greeting greeting = testProbe.expectMsgClass(Greeting.class); assertEquals("Hello, Akka", greeting.message); } }
@Override public Receive createReceive() { return receiveBuilder() .match(WhoToGreet.class, wtg -> { this.greeting = message + ", " + wtg.who; }) .match(Greet.class, x -> { //#greeter-send-message printerActor.tell(new Greeting(greeting), getSelf()); //#greeter-send-message }) .build(); } //#greeter-messages
static public Props props(String message, ActorRef printerActor) { return Props.create(Greeter.class, () -> new Greeter(message, printerActor)); }
@Test public void testGreeterActorSendingOfGreeting() { final TestKit testProbe = new TestKit(system); final ActorRef helloGreeter = system.actorOf(Greeter.props("Hello", testProbe.getRef())); helloGreeter.tell(new WhoToGreet("Akka"), ActorRef.noSender()); helloGreeter.tell(new Greet(), ActorRef.noSender()); Greeting greeting = testProbe.expectMsgClass(Greeting.class); assertEquals("Hello, Akka", greeting.message); } }