我正在尝试为我的所有演员实现某种控制台编写器.这是我的代码:
class ConsoleWriterActor : ReceiveActor
{
public ConsoleWriterActor()
{
Receive<object>(s =>
{
Console.WriteLine(s.ToString());
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,不知何故,演员没有收到任何消息.我从控制台得到了这个日志:
[INFO][8/5/2015 7:30:06 AM][Thread 0013 [akka://SPBOActorSystem/user/ConsoleWriterActor] Message StartDbOperator from akka://SPBOActorSystem/user/DbOperatorActor to akka://SPBOActorSystem/user/ConsoleWriterActor was not delivered. 1 dead letters encountered.
Run Code Online (Sandbox Code Playgroud)
什么地方出了错 ?
听起来像你解决了这个DeadLetters问题.要回答您的原始问题:要接收a中的任何消息ReceiveActor,请使用ReceiveAny(docs),如下所示:
class ConsoleWriterActor : ReceiveActor
{
public ConsoleWriterActor()
{
ReceiveAny(o => Console.WriteLine("Received object: " + o));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1381 次 |
| 最近记录: |