2012-08-10 64 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。