如何从 sbt 向演员发送消息 shell
how t send message to actor from sbt shell
我用远程 actor 创建了一个简单的应用程序(示例来自 here):
object HelloRemote extends App {
val system = ActorSystem("HelloRemoteSystem")
val remoteActor = system.actorOf(Props[RemoteActor], name = "RemoteActor")
remoteActor ! "The RemoteActor is alive"
}
class RemoteActor extends Actor {
def receive = {
case msg: String =>
println(s"RemoteActor received message '$msg'")
sender ! "Hello from the RemoteActor"
}
}
是否可以从 sbt shell 向其发送消息?
只有一个 Actor 可以向另一个 Actor 发送消息。
只需要一个 actor 引用就可以向 Actor 发送消息。例如你可以在 scala shell 中做同样的事情:
遵循这些:
import akka.actor._
在 shell 中定义您的 Actor。
class RemoteActor extends Actor {
def receive = {
case msg: String =>
println(s"RemoteActor received message '$msg'")
sender ! "Hello from the RemoteActor"
}
}
val system = ActorSystem("HelloRemoteSystem")
val remoteActor = system.actorOf(Props[RemoteActor], name = "RemoteActor")
remoteActor ! "The RemoteActor is alive"
这里的 remoteActor 是实例化的 Actor 的引用。您可以从任何地方发送消息,如果 1. 这是演员还活着 2. 您可以在那里获取演员参考。
我用远程 actor 创建了一个简单的应用程序(示例来自 here):
object HelloRemote extends App {
val system = ActorSystem("HelloRemoteSystem")
val remoteActor = system.actorOf(Props[RemoteActor], name = "RemoteActor")
remoteActor ! "The RemoteActor is alive"
}
class RemoteActor extends Actor {
def receive = {
case msg: String =>
println(s"RemoteActor received message '$msg'")
sender ! "Hello from the RemoteActor"
}
}
是否可以从 sbt shell 向其发送消息?
只有一个 Actor 可以向另一个 Actor 发送消息。
只需要一个 actor 引用就可以向 Actor 发送消息。例如你可以在 scala shell 中做同样的事情: 遵循这些:
import akka.actor._
在 shell 中定义您的 Actor。
class RemoteActor extends Actor {
def receive = {
case msg: String =>
println(s"RemoteActor received message '$msg'")
sender ! "Hello from the RemoteActor"
}
}
val system = ActorSystem("HelloRemoteSystem")
val remoteActor = system.actorOf(Props[RemoteActor], name = "RemoteActor")
remoteActor ! "The RemoteActor is alive"
这里的 remoteActor 是实例化的 Actor 的引用。您可以从任何地方发送消息,如果 1. 这是演员还活着 2. 您可以在那里获取演员参考。