Skip to content

Instantly share code, notes, and snippets.

@patriknw
Created June 10, 2013 18:23
Show Gist options
  • Save patriknw/5751027 to your computer and use it in GitHub Desktop.
Save patriknw/5751027 to your computer and use it in GitHub Desktop.
Code for 2.2. Spotlight: Cluster Node Roles
class TransformationBackend extends Actor {
val cluster = Cluster(context.system)
override def preStart(): Unit =
cluster.subscribe(self, classOf[MemberUp])
override def postStop(): Unit =
cluster.unsubscribe(self)
def receive = {
case state: CurrentClusterState ⇒
state.members.filter(_.status == MemberStatus.Up) foreach register
case MemberUp(m) ⇒ register(m)
case job => //...
}
def register(member: Member): Unit =
if (member.hasRole("front"))
context.actorSelection(RootActorPath(member.address) /
"user" / "frontend") ! BackendRegistration
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment