任何已知情况TypedActor.getContext().sender()
不符合预期?
我知道在即发即弃模式下,它默认为deadLetters
,但是我遇到了一些不同的事情:
// inside MainActor
IPrintingActor printingActor = create(IPrintingActor.class, PrintingActor.class);
printingActor.blockingPrintln("foo");
create
以上只是通常调用的包装typedActorOf
器
// inside PrintingActor
@Override
public boolean blockingPrintln(String string)
{
System.out.println(TypedActor.context().sender() + " says " + string);
return true;
}
输出是
演员[akka://MySystem/user/$b] 说 foo
然而,这个actor实际上和TypedActor.context().self()是一样的。
sender() 调用将返回与 self() 相同的任何原因?在主角打印中打印语句
演员[akka://MySystem/user/$a]
对于 MainActor 和
演员[akka://MySystem/user/$b]
为印刷演员。然而,在 PrintingActor 中,它们都被打印为
演员[akka://MySystem/user/$b]
非常感谢帮助!