/** * get algorithm name. * * @return this is algorithm name. */ @Override public String algorithm() { return LoadBalanceEnum.HASH.getName(); }
/** * get algorithm name. * * @return algorithm name */ @Override public String algorithm() { return LoadBalanceEnum.ROUND_ROBIN.getName(); } }
/** * get algorithm name. * * @return this is algorithm name. */ @Override public String algorithm() { return LoadBalanceEnum.RANDOM.getName(); } }
.map(loadBalanceEnum -> new EnumVO(loadBalanceEnum.getCode(), loadBalanceEnum.getName(), true)) .collect(Collectors.toList());
private ReferenceConfig<GenericService> buildReferenceConfig(final DubboSelectorHandle dubboSelectorHandle, final DubboRuleHandle dubboRuleHandle, final String interfaceName) { ReferenceConfig<GenericService> reference = new ReferenceConfig<>(); reference.setGeneric(true); final ApplicationConfig applicationConfig = cacheApplication(dubboSelectorHandle.getAppName()); reference.setApplication(applicationConfig); reference.setRegistry(cacheRegistry(dubboSelectorHandle.getAppName(), dubboSelectorHandle.getRegistry())); reference.setInterface(interfaceName); if (StringUtils.isNoneBlank(dubboSelectorHandle.getProtocol())) { reference.setProtocol(dubboSelectorHandle.getProtocol()); } if (StringUtils.isNoneBlank(dubboRuleHandle.getVersion())) { reference.setVersion(dubboRuleHandle.getVersion()); } if (StringUtils.isNoneBlank(dubboRuleHandle.getGroup())) { reference.setGroup(dubboRuleHandle.getGroup()); } if (StringUtils.isNoneBlank(dubboRuleHandle.getLoadBalance())) { final String loadBalance = dubboRuleHandle.getLoadBalance(); if (LoadBalanceEnum.HASH.getName().equals(loadBalance)) { reference.setLoadbalance("consistenthash"); } else if (LoadBalanceEnum.ROUND_ROBIN.getName().equals(loadBalance)) { reference.setLoadbalance("roundrobin"); } else { reference.setLoadbalance(loadBalance); } } Optional.ofNullable(dubboRuleHandle.getTimeout()).ifPresent(reference::setTimeout); Optional.ofNullable(dubboRuleHandle.getRetries()).ifPresent(reference::setRetries); return reference; }