本文整理汇总了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;未经允许,请勿转载。 |
请发表评论