2012-08-10 29 views
3

我需要一些关于如何使用由Java(不是Scala!)中的Akka提供的EventBus的建议。 我见过http://doc.akka.io/docs/akka/2.0.1/java/event-bus.html用于Java的Akka EventBus示例

的文档,我试图做我自己,所以我来到这里,这些代码:

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中的确切内容是什么?

它将不胜感激,如果你们可以帮助

谢谢!

+0

我不明白这个问题。你有没有读过文档? http://doc.akka.io/api/akka/2.0.2/#akka.event.EventStream – 2012-08-10 11:29:07

回答

0

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