in gremlin-client/src/main/java/org/apache/tinkerpop/gremlin/driver/GremlinClusterBuilder.java [607:672]
public GremlinCluster create() {
Collection<Endpoint> filteredEndpoints = new ArrayList<>();
EndpointFilter endpointFilter = this.endpointFilter != null ?
this.endpointFilter :
EndpointFilter.NULL_ENDPOINT_FILTER;
for (Endpoint endpoint : endpoints) {
if (endpointFilter.approveEndpoint(endpoint).isApproved()) {
filteredEndpoints.add(endpoint);
}
}
EndpointStrategies endpointStrategies = new EndpointStrategies(
endpointFilter
);
AcquireConnectionConfig acquireConnectionConfig = new AcquireConnectionConfig(
maxWaitForConnection,
eagerRefreshWaitTimeMillis,
onEagerRefresh,
eagerRefreshBackoffMillis,
acquireConnectionBackoffMillis);
MetricsConfig metricsConfig = new MetricsConfig(enableMetrics, metricsHandlers);
return new GremlinCluster(filteredEndpoints, endpoints -> {
Cluster.Builder builder = Cluster.build()
.reconnectInterval(reconnectInterval)
.maxWaitForConnection(maxWaitForConnection)
.enableSsl(enableSsl)
.maxInProcessPerConnection(maxInProcessPerConnection)
.minSimultaneousUsagePerConnection(minSimultaneousUsagePerConnection)
.port(port)
.authProperties(authProps)
.loadBalancingStrategy(loadBalancingStrategy.get())
.validationRequest(validationRequest)
.channelizer(channelizer)
.maxContentLength(maxContentLength)
.maxWaitForClose(maxWaitForClose)
.resultIterationBatchSize(resultIterationBatchSize)
.minConnectionPoolSize(minConnectionPoolSize)
.maxConnectionPoolSize(maxConnectionPoolSize)
.maxSimultaneousUsagePerConnection(maxSimultaneousUsagePerConnection)
.minInProcessPerConnection(minInProcessPerConnection)
.sslSkipCertValidation(sslSkipCertValidation)
.sslCipherSuites(sslCipherSuites)
.sslEnabledProtocols(sslEnabledProtocols)
.keyStoreType(keyStoreType)
.trustStorePassword(trustStorePassword)
.trustStore(trustStore)
.keyStorePassword(keyStorePassword)
.keyStore(keyStore)
.keepAliveInterval(keepAliveInterval)
.sslContext(sslContext)
.serializer(serializer)
.path(path)
.workerPoolSize(workerPoolSize)
.nioPoolSize(nioPoolSize);
configurator.apply(builder, endpoints);
return builder.create();
}, endpointStrategies, acquireConnectionConfig, metricsConfig);
}