in hugegraph-rpc/src/main/java/org/apache/hugegraph/rpc/RpcConsumerConfig.java [97:142]
private <T> ConsumerConfig<T> consumerConfig(String graph,
String interfaceId) {
String serviceId;
if (graph != null) {
serviceId = interfaceId + ":" + graph;
} else {
serviceId = interfaceId;
}
@SuppressWarnings("unchecked")
ConsumerConfig<T> consumerConfig = (ConsumerConfig<T>)
this.configs.get(serviceId);
if (consumerConfig != null) {
return consumerConfig;
}
assert consumerConfig == null;
consumerConfig = new ConsumerConfig<>();
HugeConfig conf = this.conf;
String protocol = conf.get(RpcOptions.RPC_PROTOCOL);
int timeout = conf.get(RpcOptions.RPC_CLIENT_READ_TIMEOUT) * 1000;
int connectTimeout = conf.get(RpcOptions
.RPC_CLIENT_CONNECT_TIMEOUT) * 1000;
int reconnectPeriod = conf.get(RpcOptions
.RPC_CLIENT_RECONNECT_PERIOD) * 1000;
int retries = conf.get(RpcOptions.RPC_CLIENT_RETRIES);
String loadBalancer = conf.get(RpcOptions.RPC_CLIENT_LOAD_BALANCER);
if (graph != null) {
consumerConfig.setId(serviceId).setUniqueId(graph);
// Default is FailoverCluster, set to FanoutCluster to broadcast
consumerConfig.setCluster("fanout");
}
consumerConfig.setInterfaceId(interfaceId)
.setProtocol(protocol)
.setDirectUrl(this.remoteUrls)
.setTimeout(timeout)
.setConnectTimeout(connectTimeout)
.setReconnectPeriod(reconnectPeriod)
.setRetries(retries)
.setLoadBalancer(loadBalancer);
this.configs.put(serviceId, consumerConfig);
return consumerConfig;
}