2012-08-10 3 views
3

J'ai besoin de conseils sur l'utilisation de EventBus fourni par Akka en Java (pas Scala!). Je l'ai vu le doc dans http://doc.akka.io/docs/akka/2.0.1/java/event-bus.htmlExemple Akka EventBus pour Java

et j'ai essayé de le faire moi-même, donc je suis arrivé ce code ici:

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); 
    } 
} 

la question est, je sait que

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

SERVERMESSAGE() est le canal et le message à sub/pub, mais quel est le contenu exact dans Class ServerMessage ??

il serait apprécié que vous les gars peuvent aider

merci! ServerMessage est l'exemple de classe d'événement.

+0

Je ne comprends pas la question. Avez-vous lu le document? http://doc.akka.io/api/akka/2.0.2/#akka.event.EventStream –

Répondre

0

Fondamentalement, vous pouvez mettre n'importe quelle instance de n'importe quelle classe là (donc votre propre implémentation d'événement), tant que vous avez un acteur qui est abonné à ce type d'événement.