Class GremlinClusterBuilder


  • public class GremlinClusterBuilder
    extends Object
    • Method Detail

      • acquireConnectionBackoffMillis

        public GremlinClusterBuilder acquireConnectionBackoffMillis​(int acquireConnectionBackoffMillis)
        Number of millis to wait between each attempt to acquire a connection.
      • eagerRefreshBackoffMillis

        public GremlinClusterBuilder eagerRefreshBackoffMillis​(int eagerRefreshBackoffMillis)
        Minimum number of millis to wait between invoking handler supplied in onEagerRefresh.
      • eagerRefreshWaitTimeMillis

        public GremlinClusterBuilder eagerRefreshWaitTimeMillis​(int eagerRefreshWaitTimeMillis)
        Number of millis to wait while trying to acquire connection before invoking handler supplied in onEagerRefresh.
      • endpointFilter

        public GremlinClusterBuilder endpointFilter​(EndpointFilter endpointFilter)
        Strategy for filtering and enriching available endpoints before creating clients.
      • nioPoolSize

        public GremlinClusterBuilder nioPoolSize​(int nioPoolSize)
        Size of the pool for handling request/response operations. Defaults to the number of available processors.
      • workerPoolSize

        public GremlinClusterBuilder workerPoolSize​(int workerPoolSize)
        Size of the pool for handling background work. Defaults to the number of available processors multiplied by 2
      • path

        public GremlinClusterBuilder path​(String path)
        The path to the Gremlin service on the host which is "/gremlin" by default.
      • serializer

        public GremlinClusterBuilder serializer​(String mimeType)
        Set the MessageSerializer to use given the exact name of a Serializers enum. Note that setting this value this way will not allow specific configuration of the serializer itself. If specific configuration is required * please use serializer(MessageSerializer).
      • serializer

        public GremlinClusterBuilder serializer​(org.apache.tinkerpop.gremlin.driver.ser.Serializers mimeType)
        Set the MessageSerializer to use via the Serializers enum. If specific configuration is required please use serializer(MessageSerializer).
      • serializer

        public GremlinClusterBuilder serializer​(org.apache.tinkerpop.gremlin.driver.MessageSerializer serializer)
        Sets the MessageSerializer to use.
      • enableSsl

        public GremlinClusterBuilder enableSsl​(boolean enable)
        Enables connectivity over SSL - note that the server should be configured with SSL turned on for this setting to work properly.
      • sslContext

        public GremlinClusterBuilder sslContext​(io.netty.handler.ssl.SslContext sslContext)
        Explicitly set the SslContext for when more flexibility is required in the configuration than is allowed by the GremlinClusterBuilder. If this value is set to something other than null then all other related SSL settings are ignored. The enableSsl setting should still be set to true for this setting to take effect.
      • trustCertificateChainFile

        @Deprecated
        public GremlinClusterBuilder trustCertificateChainFile​(String certificateChainFile)
        Deprecated.
        As of release 3.2.10, replaced by trustStore
        File location for a SSL Certificate Chain to use when SSL is enabled. If this value is not provided and SSL is enabled, the default TrustManager will be used.
      • keepAliveInterval

        public GremlinClusterBuilder keepAliveInterval​(long keepAliveInterval)
        Length of time in milliseconds to wait on an idle connection before sending a keep-alive request. This setting is only relevant to Channelizer implementations that return true for Channelizer#supportsKeepAlive(). Set to zero to disable this feature.
      • trustStore

        public GremlinClusterBuilder trustStore​(String trustStore)
        The file location for a SSL Certificate Chain to use when SSL is enabled. If this value is not provided and SSL is enabled, the default TrustManager will be used.
      • sslSkipCertValidation

        public GremlinClusterBuilder sslSkipCertValidation​(boolean sslSkipCertValidation)
        If true, trust all certificates and do not perform any validation.
      • minInProcessPerConnection

        public GremlinClusterBuilder minInProcessPerConnection​(int minInProcessPerConnection)
        The minimum number of in-flight requests that can occur on a Connection before it is considered for closing on return to the ConnectionPool.
      • maxInProcessPerConnection

        public GremlinClusterBuilder maxInProcessPerConnection​(int maxInProcessPerConnection)
        The maximum number of in-flight requests that can occur on a Connection. This represents an indication of how busy a Connection is allowed to be. This number is linked to the maxSimultaneousUsagePerConnection setting, but is slightly different in that it refers to the total number of requests on a Connection. In other words, a Connection might be borrowed once to have multiple requests executed against it. This number controls the maximum number of requests whereas maxInProcessPerConnection controls the times borrowed.
      • maxSimultaneousUsagePerConnection

        public GremlinClusterBuilder maxSimultaneousUsagePerConnection​(int maxSimultaneousUsagePerConnection)
        The maximum number of times that a Connection can be borrowed from the pool simultaneously. This represents an indication of how busy a Connection is allowed to be. Set too large and the Connection may queue requests too quickly, rather than wait for an available Connection or create a fresh one. If set too small, the Connection will show as busy very quickly thus forcing waits for available Connection instances in the pool when there is more capacity available.
      • minSimultaneousUsagePerConnection

        public GremlinClusterBuilder minSimultaneousUsagePerConnection​(int minSimultaneousUsagePerConnection)
        The minimum number of times that a Connection should be borrowed from the pool before it falls under consideration for closing. If a Connection is not busy and the minConnectionPoolSize is exceeded, then there is no reason to keep that connection open. Set too large and Connection that isn't busy will continue to consume resources when it is not being used. Set too small and Connection instances will be destroyed when the driver might still be busy.
      • maxConnectionPoolSize

        public GremlinClusterBuilder maxConnectionPoolSize​(int maxSize)
        The maximum size that the ConnectionPool can grow.
      • minConnectionPoolSize

        public GremlinClusterBuilder minConnectionPoolSize​(int minSize)
        The minimum size of the ConnectionPool. When the Client is started, Connection objects will be initially constructed to this size.
      • resultIterationBatchSize

        public GremlinClusterBuilder resultIterationBatchSize​(int size)
        Override the server setting that determines how many results are returned per batch.
      • maxWaitForConnection

        public GremlinClusterBuilder maxWaitForConnection​(int maxWait)
        The maximum amount of time to wait for a connection to be borrowed from the connection pool.
      • maxWaitForClose

        public GremlinClusterBuilder maxWaitForClose​(int maxWait)
        If the connection is using a "session" this setting represents the amount of time in milliseconds to wait for that session to close before timing out where the default value is 3000. Note that the server will eventually clean up dead sessions itself on expiration of the session or during shutdown.
      • maxContentLength

        public GremlinClusterBuilder maxContentLength​(int maxContentLength)
        The maximum size in bytes of any request sent to the server. This number should not exceed the same setting defined on the server.
      • channelizer

        public GremlinClusterBuilder channelizer​(String channelizerClass)
        Specify the Channelizer implementation to use on the client when creating a Connection.
      • channelizer

        public GremlinClusterBuilder channelizer​(Class channelizerClass)
        Specify the Channelizer implementation to use on the client when creating a Connection.
      • validationRequest

        public GremlinClusterBuilder validationRequest​(String script)
        Specify a valid Gremlin script that can be used to test remote operations. This script should be designed to return quickly with the least amount of overhead possible. By default, the script sends an empty string. If the graph does not support that sort of script because it requires all scripts to include a reference to a graph then a good option might be g.inject().
      • reconnectInterval

        public GremlinClusterBuilder reconnectInterval​(int interval)
        Time in milliseconds to wait between retries when attempting to reconnect to a dead host.
      • loadBalancingStrategy

        public GremlinClusterBuilder loadBalancingStrategy​(Supplier<org.apache.tinkerpop.gremlin.driver.LoadBalancingStrategy> loadBalancingStrategy)
        Specifies the load balancing strategy to use on the client side.
      • authProperties

        public GremlinClusterBuilder authProperties​(org.apache.tinkerpop.gremlin.driver.AuthProperties authProps)
        Specifies parameters for authentication to Gremlin Server.
      • credentials

        public GremlinClusterBuilder credentials​(String username,
                                                 String password)
        Sets the AuthProperties.Property.USERNAME and AuthProperties.Property.PASSWORD properties for authentication to Gremlin Server.
      • protocol

        public GremlinClusterBuilder protocol​(String protocol)
        Sets the AuthProperties.Property.PROTOCOL properties for authentication to Gremlin Server.
      • jaasEntry

        public GremlinClusterBuilder jaasEntry​(String jaasEntry)
        Sets the AuthProperties.Property.JAAS_ENTRY properties for authentication to Gremlin Server.
      • addContactPoint

        public GremlinClusterBuilder addContactPoint​(String address)
        Adds the address of a Gremlin Server to the list of servers a Client will try to contact to send requests to. The address should be parseable by InetAddress.getByName(String). That's the only validation performed at this point. No connection to the host is attempted.
      • addContactPoints

        public GremlinClusterBuilder addContactPoints​(String... addresses)
        Add one or more the addresses of a Gremlin Servers to the list of servers a Client will try to contact to send requests to. The address should be parseable by InetAddress.getByName(String). That's the only validation performed at this point. No connection to the host is attempted.
      • port

        public GremlinClusterBuilder port​(int port)
        Sets the port that the Gremlin Servers will be listening on.
      • handshakeInterceptor

        public GremlinClusterBuilder handshakeInterceptor​(org.apache.tinkerpop.gremlin.driver.HandshakeInterceptor interceptor)
        Specifies an HandshakeInterceptor that will allow manipulation of the FullHttpRequest prior to its being sent over the websocket.