Sha256: 8410cb1c91183c4ee564a7321fd6550169678d56c5c0ac7cb5303c287e2d391a

Contents?: true

Size: 1.43 KB

Versions: 2

Compression:

Stored size: 1.43 KB

Contents

package com.game_machine.core;

import com.typesafe.config.ConfigFactory;

import akka.actor.ActorSelection;
import akka.cluster.Cluster;
import akka.cluster.ClusterEvent.ClusterDomainEvent;
import akka.contrib.pattern.DistributedPubSubMediator;
import akka.actor.DeadLetter;
import akka.actor.UntypedActor;
import akka.event.Logging;
import akka.event.LoggingAdapter;

public class EventStreamHandler extends UntypedActor {

	LoggingAdapter log = Logging.getLogger(getContext().system(), this);

	public EventStreamHandler() {
		this.getContext().system().eventStream()
				.subscribe(this.getSelf(), DeadLetter.class);
		//new DistributedPubSubMediator.Publish("test","out");	
//		if (this.getContext().system().name().equals("cluster")) {
//			// Add subscription of cluster events
//			Cluster.get(this.getContext().system()).subscribe(getSelf(),
//					ClusterDomainEvent.class);
//			log.info("Subscribing to cluster events");
//		}
		
	}

	@Override
	public void onReceive(Object message) throws Exception {
		if (message instanceof DeadLetter) {
			DeadLetter letter = (DeadLetter) message;
			//log.warning("DeadLetter " + letter.message() + " " + letter.sender().toString() + " " + letter.recipient().toString());
			// Scala creates bad class names that blow up in jruby and show up in dead letters.
			//ActorSelection sel = ActorUtil
			//		.getSelectionByName("GameMachine::SystemMonitor");
			//sel.tell(letter.message(), this.getSelf());
		}

	}
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
game_machine-1.0.4 java/project/src/main/java/com/game_machine/core/EventStreamHandler.java
game_machine-1.0.2 java/project/src/main/java/com/game_machine/core/EventStreamHandler.java