public GremlinCluster create()

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);
    }