有没有办法在向akka演员发送消息时添加某种payload
(附加消息)?我知道有一种方法可以使用routers
来实现这一点,但这可以通过简单的消息传递来实现吗?
通过简单的消息传递,我的意思是这样的remoteActor ! "hi"
。
答案 0 :(得分:0)
是的,是的,你可以。你可以发送你想要的任何有效载荷,但它必须是不可变的(据我所知)。大多数人使用案例类。例如。
case class Payload(pay: List[String], load: Int)
然后你可以这样做
actorRef ! Payload(List("string1","1gnirts"),69)
但你必须记得在接收中创建适当的案例
def receive =
case Payload(pay,load) => doSomeStuff(load,pay)