gpt4 book ai didi

com.netflix.loadbalancer.ZoneAwareLoadBalancer.chooseServer()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-14 00:14:49 27 4
gpt4 key购买 nike

本文整理了Java中com.netflix.loadbalancer.ZoneAwareLoadBalancer.chooseServer()方法的一些代码示例,展示了ZoneAwareLoadBalancer.chooseServer()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZoneAwareLoadBalancer.chooseServer()方法的具体详情如下:
包路径:com.netflix.loadbalancer.ZoneAwareLoadBalancer
类名称:ZoneAwareLoadBalancer
方法名:chooseServer

ZoneAwareLoadBalancer.chooseServer介绍

暂无

代码示例

代码示例来源:origin: yu199195/hmily

@Override
public Server chooseServer(final Object key) {
  List<Server> serverList;
  serverList = super.getServerListImpl().getUpdatedListOfServers();
  serverList = super.getFilter().getFilteredListOfServers(serverList);
  if (null == serverList || serverList.isEmpty() || serverList.size() == 1) {
    return super.chooseServer(key);
  }
  final Server server = super.chooseServer(key);
  final HmilyTransactionContext hmilyTransactionContext = HmilyTransactionContextLocal.getInstance().get();
  if (Objects.isNull(hmilyTransactionContext)) {
    return server;
  }
  final String transId = hmilyTransactionContext.getTransId();
  //if try
  if (hmilyTransactionContext.getAction() == HmilyActionEnum.TRYING.getCode()) {
    SERVER_MAP.put(transId, server);
    return server;
  }
  final Server oldServer = SERVER_MAP.get(transId);
  SERVER_MAP.remove(transId);
  if (Objects.nonNull(oldServer)) {
    for (Server s : serverList) {
      if (Objects.equals(s, oldServer)) {
        return oldServer;
      }
    }
  }
  return server;
}

代码示例来源:origin: smoketurner/dropwizard-consul

/**
 * Fetch a server from the load balancer or throw an exception if none are available.
 *
 * @return a server
 * @throws IllegalStateException if no servers are available
 */
private Server fetchServerOrThrow() {
 final Server server = loadBalancer.chooseServer();
 if (server == null) {
  throw new IllegalStateException("No available servers for " + loadBalancer.getName());
 }
 return server;
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com