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