本文整理汇总了Java中akka.cluster.Cluster.get方法的典型用法代码示例。如果您正苦于以下问题:Java Cluster.get方法的具体用法?Java Cluster.get怎么用?Java Cluster.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类akka.cluster.Cluster
的用法示例。
在下文中一共展示了Cluster.get方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: preStart
import akka.cluster.Cluster; //导入方法依赖的package包/类
@Override
public void preStart() {
ActorRefProvider provider = getContext().provider();
selfAddress = provider.getDefaultAddress();
bucketStore = new BucketStoreAccess(getContext(), config.getAskDuration());
if (provider instanceof ClusterActorRefProvider) {
cluster = Cluster.get(getContext().system());
cluster.subscribe(getSelf(),
ClusterEvent.initialStateAsEvents(),
ClusterEvent.MemberEvent.class,
ClusterEvent.ReachableMember.class,
ClusterEvent.UnreachableMember.class);
}
if (autoStartGossipTicks) {
gossipTask = getContext().system().scheduler().schedule(
new FiniteDuration(1, TimeUnit.SECONDS), //initial delay
config.getGossipTickInterval(), //interval
getSelf(), //target
GOSSIP_TICK, //message
getContext().dispatcher(), //execution context
getSelf() //sender
);
}
}
示例2: main
import akka.cluster.Cluster; //导入方法依赖的package包/类
public static void main(String[] args) throws IOException {
ActorSystem actorSystem = ActorSystem.create(CLUSTER_NAME);
actorSystem.actorOf(SimpleClusterListener.props());
final ActorMaterializer materializer = ActorMaterializer.create(actorSystem);
Cluster cluster = Cluster.get(actorSystem);
List<Address> addresses = Arrays.asList(System.getenv().get("SEED_NODES").split(","))
.stream()
.map(ip -> new Address("akka.tcp", CLUSTER_NAME, ip, 2551))
.collect(Collectors.toList());
cluster.joinSeedNodes(addresses);
}
示例3: ClusterWrapperImpl
import akka.cluster.Cluster; //导入方法依赖的package包/类
public ClusterWrapperImpl(ActorSystem actorSystem) {
Preconditions.checkNotNull(actorSystem, "actorSystem should not be null");
cluster = Cluster.get(actorSystem);
Preconditions.checkState(cluster.getSelfRoles().size() > 0,
"No akka roles were specified.\n"
+ "One way to specify the member name is to pass a property on the command line like so\n"
+ " -Dakka.cluster.roles.0=member-3\n"
+ "member-3 here would be the name of the member");
currentMemberName = MemberName.forName(cluster.getSelfRoles().iterator().next());
selfAddress = cluster.selfAddress();
}
示例4: leaveCluster
import akka.cluster.Cluster; //导入方法依赖的package包/类
/**
* Api to make a node leave the cluster.
* @param host hostname/ip of the node.
* @param port port
*/
@POST
@Path("/cluster/leave")
public Response leaveCluster(@QueryParam("host") String host, @QueryParam("port") Integer port) {
if(StringUtils.isEmpty(host) || port == null) {
return Response.status(Response.Status.BAD_REQUEST.getStatusCode()).entity("empty hostname or port").build();
}
Address akkAddress = new Address("akka.tcp", actorSystemManager.retrieveActorSystem().name(), host, port);
Cluster cluster = Cluster.get(actorSystemManager.retrieveActorSystem());
cluster.leave(akkAddress);
return Response.status(Response.Status.OK.getStatusCode()).build();
}
示例5: leaveCluster
import akka.cluster.Cluster; //导入方法依赖的package包/类
@Override
public void leaveCluster(){
Cluster cluster = Cluster.get(clusterSystem);
logger.info("Downing self: {} from cluster: {}", cluster.selfAddress(), clusterSystem.name());
cluster.leave(cluster.selfAddress());
}