2

尝试运行以下代码时:

ActorRef parserActor1 =system.actorFor("akka://ParserActorsSystem@10.0.0.9:2552/user/ParserMainActor");
System.out.println("*$^%$^%$^"+parserActor1);   
parserActor1.tell("Please parse!", mainActor);

第一行和第二行运行良好 - 这意味着远程处理工作正常(我认为)。在第 3 行,我收到错误“发送消息期间吞咽异常”。

我正在使用 akka-remote 版本 2.1.1。可能是什么问题?

application.conf 包含:

    akka {
  actor {
    provider = "akka.remote.RemoteActorRefProvider"
  }
  remote {
    transport = "akka.remote.netty.NettyRemoteTransport"
    netty {
      hostname = "10.0.0.8"
      port = 2552
    }
 }
}

这是确切的错误:“[ERROR] [03/06/2013 16:15:42.129] [New I/O worker #1] [akka://ParserActorsSystem@10.0.0.9:2552/user/ParserMainActor] 吞咽异常在消息发送期间 java.lang.IllegalStateException: await*() in I/O thread 导致死锁或突然性能下降。请改用 addListener() 或从不同的线程调用 await*()。

非常感谢,阿维亚德

4

1 回答 1

2

您遇到了 Play 与 Akka 远程处理合作公开的 Netty 怪癖:http: //play.lighthouseapp.com/projects/82401-play-20/tickets/1042-Netty-pipeline-needs-an-executionHandler

于 2013-03-07T08:24:55.947 回答