Skip to content

Instantly share code, notes, and snippets.

@patriknw
Created October 8, 2012 12:48
Show Gist options
  • Save patriknw/3852336 to your computer and use it in GitHub Desktop.
Save patriknw/3852336 to your computer and use it in GitHub Desktop.
Spotlight for Cluster Membership
import akka.cluster.Cluster
import akka.cluster.ClusterEvent._
val clusterListener = system.actorOf(Props(new Actor with ActorLogging {
def receive = {
case state: CurrentClusterState ⇒
log.info("Current members: {}", state.members)
case MemberUp(member) ⇒
log.info("Member is up: {}", member)
// send a message to the "world" actor running at the member node
context.actorFor(RootActorPath(member.address) / "user" / "world") !
"hello"
case MemberRemoved(member) ⇒
log.info("Member removed: {}", member)
case event: MemberEvent ⇒
log.info("Other membership change: {}", event)
}
}), name = "clusterListener")
Cluster(system).subscribe(clusterListener, classOf[MemberEvent])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment