3

我需要一些关于如何在 Java(不是 Scala!)中使用 Akka 提供的 EventBus 的建议。我在http://doc.akka.io/docs/akka/2.0.1/java/event-bus.html中看到了文档

我试着自己做,所以我在这里得到了这些代码:

public class Subscriber {

public static void main(String args[]){
    final ActorSystem actorSystem = ActorSystem.create("ServerEvents");
    final ActorRef actor = actorSystem.actorOf(new Props(ServerEventHandler.class));
    actorSystem.eventStream().subscribe(actor,ServerMessage.class);
    actorSystem.eventStream().publish(new ServerMessage());
}
  }


public class ServerEventHandler extends UntypedActor {
  @Override
  public void onReceive(final Object message) {
    System.out.println("Got event in thread: " + Thread.currentThread().getName());
    System.out.println("Event: " + message);
  }
}

问题是,我知道

actorSystem.eventStream().subscribe(actor,ServerMessage.class);
actorSystem.eventStream().publish(new ServerMessage());

ServerMessage() 是 sub/pub 的通道和消息,但是 Class ServerMessage 中的确切内容是什么?

如果你们能提供帮助将不胜感激

谢谢!

4

1 回答 1

0

ServerMessage 是示例事件类。基本上你可以把任何类的任何实例放在那里(所以你自己的事件实现),只要你有一个订阅了该类型事件的参与者。

于 2012-08-10T12:18:14.140 回答