Java源码示例:akka.cluster.ClusterEvent.MemberRemoved
示例1
@Override
public Receive createReceive() {
return receiveBuilder()
.match(MemberUp.class, mUp -> {
LOG.info("Member is Up: {}", mUp.member());
})
.match(UnreachableMember.class, mUnreachable -> {
LOG.info("Member detected as unreachable: {}", mUnreachable.member());
})
.match(MemberRemoved.class, mRemoved -> {
LOG.info("Member is Removed: {}", mRemoved.member());
})
.match(MemberEvent.class, message -> {
// ignore
})
.matchAny(msg -> AKKA_LOG.warning("Received unknown message: {}", msg))
.build();
}
示例2
@Override
public void onReceive(Object message) {
if (message instanceof MemberUp) {
MemberUp mUp = (MemberUp) message;
log.info("Member is Up: {}", mUp.member());
} else if (message instanceof UnreachableMember) {
UnreachableMember mUnreachable = (UnreachableMember) message;
log.info("Member detected as unreachable: {}", mUnreachable.member());
} else if (message instanceof MemberRemoved) {
MemberRemoved mRemoved = (MemberRemoved) message;
log.info("Member is Removed: {}", mRemoved.member());
} else if (message instanceof MemberEvent) {
// ignore
} else {
unhandled(message);
}
}
示例3
/**
* Overridden super class method. Receives callback messages for cluster membership changes.
* Updates list of current cluster member addresses based on these updates
* @see akka.actor.UntypedActor#onReceive(java.lang.Object)
*/
public void onReceive(Object message) {
if (message instanceof MemberUp) {
MemberUp mUp = (MemberUp) message;
logger.info("Cluster Member is Up: " + mUp.member());
memberAddresses.add(mUp.member().address());
} else if (message instanceof UnreachableMember) {
UnreachableMember mUnreachable = (UnreachableMember) message;
logger.info("Cluster Member detected as unreachable " + mUnreachable.member());
} else if (message instanceof MemberRemoved) {
MemberRemoved mRemoved = (MemberRemoved) message;
logger.info("Cluster Member is Removed: " + mRemoved.member());
memberAddresses.remove(mRemoved.member().address());
} else if (message instanceof MemberEvent) {
// ignore
} else {
unhandled(message);
}
}
示例4
@Override
public Receive createReceive() {
return receiveBuilder().match(CurrentClusterState.class, state -> {
this.log.info("Current members: {}", state.members());
}).match(MemberUp.class, mUp -> {
this.log.info("Member is Up: {}", mUp.member());
}).match(UnreachableMember.class, mUnreachable -> {
this.log.info("Member detected as unreachable: {}", mUnreachable.member());
}).match(MemberRemoved.class, mRemoved -> {
this.log.info("Member is Removed: {}", mRemoved.member());
}).match(MemberEvent.class, message -> {
// ignore
}).build();
}
示例5
@Override
public Receive createReceive() {
return receiveBuilder()
.match(CurrentClusterState.class, this::handle)
.match(MemberUp.class, this::handle)
.match(MemberRemoved.class, this::handle)
.matchAny(object -> this.log().info("Received unknown message: \"{}\"", object.toString()))
.build();
}
示例6
@Override
public Receive createReceive() {
return receiveBuilder().match(CurrentClusterState.class, state -> {
this.log.info("Current members: {}", state.members());
}).match(MemberUp.class, mUp -> {
this.log.info("Member is Up: {}", mUp.member());
}).match(UnreachableMember.class, mUnreachable -> {
this.log.info("Member detected as unreachable: {}", mUnreachable.member());
}).match(MemberRemoved.class, mRemoved -> {
this.log.info("Member is Removed: {}", mRemoved.member());
}).match(MemberEvent.class, message -> {
// ignore
}).build();
}
示例7
@Override
public Receive createReceive() {
return receiveBuilder()
.match(CurrentClusterState.class, this::handle)
.match(MemberUp.class, this::handle)
.match(MemberRemoved.class, this::handle)
.match(Object.class, this::handle)
.matchAny(object -> this.log().info("Received unknown message: \"{}\"", object.toString()))
.build();
}
示例8
@Override
public void preStart() {
Reaper.watchWithDefaultReaper(this);
this.cluster.subscribe(this.self(), MemberUp.class, MemberRemoved.class);
}
示例9
private void handle(MemberRemoved message) {
if (this.masterSystem.equals(message.member()))
this.self().tell(PoisonPill.getInstance(), ActorRef.noSender());
}
示例10
@Override
public void preStart() {
Reaper.watchWithDefaultReaper(this);
this.cluster.subscribe(this.self(), MemberUp.class, MemberRemoved.class);
}
示例11
private void handle(MemberRemoved message) {
if (this.masterSystem.equals(message.member()))
this.self().tell(PoisonPill.getInstance(), ActorRef.noSender());
}