Wednesday, November 25, 2015

Scala REPL with Actor

scala> import akka.actor.Actor
import akka.actor.Actor

scala> case class Name(name: String)
defined class Name

scala> class GreetingsActor extends Actor {
| def receive = {
| case Name(n) => println("Hello " + n)
| }
| }
defined class GreetingsActor

scala> val system = akka.actor.ActorSystem("system")
system: akka.actor.ActorSystem = akka://system

scala> import akka.actor.Props
import akka.actor.Props

scala> val a = system.actorOf(Props[GreetingsActor], name = "greetings-actor")
a: akka.actor.ActorRef = Actor[akka://system/user/greetings-actor#1319806002]

scala> a ! Name("Greg")
Hello Greg