AKKA收到消息参考

Ant*_*los 2 scala akka

在Java中,onReceive的声明包括对作为对象的消息的引用.

public void onReceive( Object message )
{
    if( message instanceof MyClass )
    {
Run Code Online (Sandbox Code Playgroud)

但是在Scala中没有包含这样的引用,并且具体情况

def receive {
  case "test" => println("ttt")
 }
Run Code Online (Sandbox Code Playgroud)

有没有办法在Scala中访问收到的消息?例如,我想手动将任何未知消息转发给特定的actor.就像是

def receive {
  case "test" => println("ttt")
  case _ => AnotherActor ! TheMessage
 }
Run Code Online (Sandbox Code Playgroud)

om-*_*nom 8

是的,它非常简单:

def receive {
  case "test" => println("ttt")
  case theMessage => AnotherActor ! theMessage
}
Run Code Online (Sandbox Code Playgroud)

  • 您需要使用"forward"或AnotherActor.tell(theMessage,sender)来转发正确意义上的消息(即保留原始发件人) (4认同)