当前位置: 首页>>代码示例>>Java>>正文


Java MemberStatus类代码示例

本文整理汇总了Java中akka.cluster.MemberStatus的典型用法代码示例。如果您正苦于以下问题:Java MemberStatus类的具体用法?Java MemberStatus怎么用?Java MemberStatus使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MemberStatus类属于akka.cluster包,在下文中一共展示了MemberStatus类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: waitForMembersUp

import akka.cluster.MemberStatus; //导入依赖的package包/类
public void waitForMembersUp(final String... otherMembers) {
    Set<String> otherMembersSet = Sets.newHashSet(otherMembers);
    Stopwatch sw = Stopwatch.createStarted();
    while (sw.elapsed(TimeUnit.SECONDS) <= 10) {
        CurrentClusterState state = Cluster.get(getSystem()).state();
        for (Member m: state.getMembers()) {
            if (m.status() == MemberStatus.up() && otherMembersSet.remove(m.getRoles().iterator().next())
                    && otherMembersSet.isEmpty()) {
                return;
            }
        }

        Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
    }

    fail("Member(s) " + otherMembersSet + " are not Up");
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:18,代码来源:IntegrationTestKit.java

示例2: waitForMembersUp

import akka.cluster.MemberStatus; //导入依赖的package包/类
static void waitForMembersUp(final ActorSystem node, final UniqueAddress... addresses) {
    Set<UniqueAddress> otherMembersSet = Sets.newHashSet(addresses);
    Stopwatch sw = Stopwatch.createStarted();
    while (sw.elapsed(TimeUnit.SECONDS) <= 10) {
        CurrentClusterState state = Cluster.get(node).state();
        for (Member m : state.getMembers()) {
            if (m.status() == MemberStatus.up() && otherMembersSet.remove(m.uniqueAddress())
                    && otherMembersSet.isEmpty()) {
                return;
            }
        }

        Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
    }

    fail("Member(s) " + otherMembersSet + " are not Up");
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:18,代码来源:RpcRegistryTest.java

示例3: createReceive

import akka.cluster.MemberStatus; //导入依赖的package包/类
@Override
    public Receive createReceive() {
        return receiveBuilder()
                .match(ApiRequest.class, this::onRequest)
                .match(ApiRequestForward.class, this::onForward)
                .match(MemberOfflineEvent.class, this::onOffline)
                .match(MemberOnlineEvent.class, this::onOnline)
                .match(BackendFindEvent.class, e -> getSender().tell(findFrontendSocket, getSelf()))

                .match(ClusterEvent.CurrentClusterState.class, state -> {
                    for (Member member : state.getMembers()) {
                        if (member.status().equals(MemberStatus.up())) {
                            register(member);
                        } else if (member.status().equals(MemberStatus.removed())) {
                            remove(member);
                        }
                    }
                })
                .match(ClusterEvent.MemberUp.class, mUp -> register(mUp.member()))
                .match(ClusterEvent.MemberRemoved.class, mRem -> remove(mRem.member()))
                .match(Terminated.class, t -> {
                    logger.info("Frontend {} left.", getSender());
//                    getContext().unwatch(getSender());
//                    ClusterChildNodeSystem.INSTANCE.removeRouterFronted();
                })
                .build();
    }
 
开发者ID:freedompy,项目名称:commelina,代码行数:28,代码来源:AbstractBackendActor.java

示例4: onReceive

import akka.cluster.MemberStatus; //导入依赖的package包/类
@Override
public void onReceive(Object message) throws Throwable
{
  if (message instanceof ClusterEvent.MemberUp) {
    ClusterEvent.MemberUp event = (ClusterEvent.MemberUp) message;
    this.up(event.member());
  } else if (message instanceof ClusterEvent.CurrentClusterState) {
    ClusterEvent.CurrentClusterState state = (ClusterEvent.CurrentClusterState) message;
    Iterable<Member> members = state.getMembers();
    for (Member o : members) {
      if (o.status().equals(MemberStatus.up())) {
        this.up(o);
      }
    }
  } else if (message instanceof ClusterEvent.UnreachableMember) {
    ClusterEvent.UnreachableMember mUnreachable = (ClusterEvent.UnreachableMember) message;
    log.info("有个节点不可达: {}", mUnreachable.member());
  } else if (message instanceof ClusterEvent.MemberRemoved) {
    ClusterEvent.MemberRemoved mRemoved = (ClusterEvent.MemberRemoved) message;
    log.info("有节点被删掉: {}", mRemoved.member());
  } else if (message instanceof ClusterEvent.MemberEvent) {
    log.info("节点事件: {}", message);
  } else if (message instanceof Registration) {
    Registration r = (Registration) message;
    if (match(this.slaves, r.getService())) {
      getContext().watch(getSender());
      this.addService(getSender(), r.getService());
      log.info("register success! sender =" + getSender());
      log.info("register success! self =" + this.self());
    } else {
        log.info("register failed! r.service = " + r.getService());
        log.info("register failed! this.service=" + this.service);
    }
  } else if (message instanceof Terminated) {
    Terminated terminated = (Terminated) message;
    this.removeService(terminated.actor());
  } else {
    this.onMessage(message);
  }
}
 
开发者ID:beykery,项目名称:bakka,代码行数:41,代码来源:BaseActor.java

示例5: createMemberRemoved

import akka.cluster.MemberStatus; //导入依赖的package包/类
public static MemberRemoved createMemberRemoved(final String memberName, final String address) {
    UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
    Member member = new Member(uniqueAddress, 1, MemberStatus.removed(), setOf(memberName));

    return new MemberRemoved(member, MemberStatus.up());
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:7,代码来源:MockClusterWrapper.java

示例6: createMemberUp

import akka.cluster.MemberStatus; //导入依赖的package包/类
public static MemberUp createMemberUp(final String memberName, final String address) {
    UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
    Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName));

    return new MemberUp(member);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:7,代码来源:MockClusterWrapper.java

示例7: createUnreachableMember

import akka.cluster.MemberStatus; //导入依赖的package包/类
public static UnreachableMember createUnreachableMember(final String memberName, final String address) {
    UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
    Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName));

    return new UnreachableMember(member);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:7,代码来源:MockClusterWrapper.java

示例8: createReachableMember

import akka.cluster.MemberStatus; //导入依赖的package包/类
public static ReachableMember createReachableMember(final String memberName, final String address) {
    UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
    Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName));

    return new ReachableMember(member);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:7,代码来源:MockClusterWrapper.java

示例9: processAsClusterEvent

import akka.cluster.MemberStatus; //导入依赖的package包/类
/**
 * Process messages about nodes up, down, reachable and unreachable.
 */
private void processAsClusterEvent(Object message) {

    if (message instanceof ClusterEvent.CurrentClusterState) {
        ClusterEvent.CurrentClusterState state = (ClusterEvent.CurrentClusterState) message;
        nodes.clear();
        for (Member member : state.getMembers()) {
            if (member.hasRole("io") && member.status().equals( MemberStatus.up())) {
                nodes.add(member.address());
                logger.debug("RequestActor {} received cluster-state member-up for {}", name, member.address());
            }
        }

    } else if (message instanceof ClusterEvent.MemberUp) {
        ClusterEvent.MemberUp mUp = (ClusterEvent.MemberUp) message;
        if (mUp.member().hasRole("io")) {
            nodes.add( mUp.member().address() );
        }
        logger.debug("{} received member-up for {}", name, mUp.member().address());

    } else if (message instanceof ClusterEvent.MemberEvent) {
        ClusterEvent.MemberEvent other = (ClusterEvent.MemberEvent) message;
        nodes.remove(other.member().address());

    } else if (message instanceof ClusterEvent.UnreachableMember) {
        ClusterEvent.UnreachableMember unreachable = (ClusterEvent.UnreachableMember) message;
        nodes.remove(unreachable.member().address());
        logger.debug("{} received un-reachable for {}", name, unreachable.member().address());

    } else if (message instanceof ClusterEvent.ReachableMember) {
        ClusterEvent.ReachableMember reachable = (ClusterEvent.ReachableMember) message;
        if (reachable.member().hasRole("io")) {
            nodes.add( reachable.member().address() );
        }
        logger.debug("{} received reachable for {}", name, reachable.member().address());

    } else {
        logger.error("{}: unhandled message: {}", name, message.toString());
        unhandled(message);
    }
}
 
开发者ID:apache,项目名称:usergrid,代码行数:44,代码来源:ClientActor.java


注:本文中的akka.cluster.MemberStatus类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。