Akka EventBus是否可以与远程演员合作?

时间:2012-11-21 15:52:23

标签: akka

Akka的EventBus是否与远程演员合作?

据我所知,它本身并不支持这一点。有人可以确认吗?

看起来可以编写一些提供类似功能的Actors。例如。启动一个订阅远程服务器上的EventBus的远程actor,并将消息发送回本地actor以在本地EventBus上重新发布。但如果它已经得到支持,那就写下这个没有意义了!

由于

1 个答案:

答案 0 :(得分:11)

EventBus本身是本地的,这意味着事件不会自动转移到其他系统上的EventBuses,但您可以订阅任何您想要的ActorRef,包括远程的。您只需要在生成事件的节点上使用actor:

case class Subscribe(clazz: Class[_])
system.actorOf(Props(new Actor {
  def receive = {
    case Subscribe(c) =>
      context.system.eventStream.subscribe(sender, c)
  }
}), "eventer")

然后你可以从远程主机那里查看一个并自己订阅。