org.apache.tinkerpop.gremlin.driver

## Class Client.ClusteredClient

- java.lang.Object
- - org.apache.tinkerpop.gremlin.driver.Client
  - - org.apache.tinkerpop.gremlin.driver.Client.ClusteredClient

- Enclosing class:
    Client

      public static final class Client.ClusteredClient
      extends Client

  A `Client` implementation that does not operate in a session. Requests are sent to multiple servers given a `LoadBalancingStrategy`. Transactions are automatically committed (or rolled-back on error) after each request.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.tinkerpop.gremlin.driver.Client

      `Client.AliasClusteredClient, Client.ClusteredClient, Client.SessionedClient, Client.SessionSettings, Client.Settings`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ConcurrentMap<Host,org.apache.tinkerpop.gremlin.driver.ConnectionPool>` | `hostConnectionPools`

    - ### Fields inherited from class org.apache.tinkerpop.gremlin.driver.Client

      `cluster, initialized, settings`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Client` | `alias(Map<String,String> aliases)` Creates a `Client` that supplies the specified set of aliases, thus allowing the user to re-name one or more globally defined `Graph` or `TraversalSource` server bindings for the context of the created `Client`.
    `Client` | `alias(String graphOrTraversalSource)` Create a new `Client` that aliases the specified `Graph` or `TraversalSource` name on the server to a variable called "g" for the context of the requests made through that `Client`.
    `protected org.apache.tinkerpop.gremlin.driver.Connection` | `chooseConnection(org.apache.tinkerpop.gremlin.driver.message.RequestMessage msg)` Uses a `LoadBalancingStrategy` to choose the best `Host` and then selects the best connection from that host's connection pool.
    `CompletableFuture<Void>` | `closeAsync()` Closes all the connection pools on all hosts.
    `protected void` | `initializeImplementation()` Initializes the connection pools on all hosts.
    `boolean` | `isClosing()`
    `ResultSet` | `submit(String gremlin, String graphOrTraversalSource)` Submits a Gremlin script to the server and returns a `ResultSet` once the write of the request is complete.
    `ResultSet` | `submit(String gremlin, String graphOrTraversalSource, Map<String,Object> parameters)` Submits a Gremlin script and bound parameters to the server and returns a `ResultSet` once the write of the request is complete.

    - ### Methods inherited from class org.apache.tinkerpop.gremlin.driver.Client

      `buildMessage, close, getCluster, getSettings, init, makeDefaultAliasMap, submit, submit, submit, submit, submit, submit, submitAsync, submitAsync, submitAsync, submitAsync, submitAsync, submitAsync, submitAsync, submitAsync, submitAsync`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### hostConnectionPools

          protected ConcurrentMap<Host,org.apache.tinkerpop.gremlin.driver.ConnectionPool> hostConnectionPools

  - ### Method Detail

    - #### isClosing

          public boolean isClosing()

      Specified by:
        `isClosing` in class `Client`

    - #### submit

          public ResultSet submit(String gremlin,
                                  String graphOrTraversalSource)

      Submits a Gremlin script to the server and returns a `ResultSet` once the write of the request is complete.
      Parameters:
        `gremlin` - the gremlin script to execute

    - #### submit

          public ResultSet submit(String gremlin,
                                  String graphOrTraversalSource,
                                  Map<String,Object> parameters)

      Submits a Gremlin script and bound parameters to the server and returns a `ResultSet` once the write of the request is complete. If a script is to be executed repeatedly with slightly different arguments, prefer this method to concatenating a Gremlin script from dynamically produced strings and sending it to `Client.submit(String)`. Parameterized scripts will perform better.
      Parameters:
        `gremlin` - the gremlin script to execute
        `parameters` - a map of parameters that will be bound to the script on execution
        `graphOrTraversalSource` - rebinds the specified global Gremlin Server variable to "g"

    - #### alias

          public Client alias(String graphOrTraversalSource)

      Create a new `Client` that aliases the specified `Graph` or `TraversalSource` name on the server to a variable called "g" for the context of the requests made through that `Client`.
      Overrides:
        `alias` in class `Client`
      Parameters:
        `graphOrTraversalSource` - rebinds the specified global Gremlin Server variable to "g"

    - #### alias

          public Client alias(Map<String,String> aliases)

      Creates a `Client` that supplies the specified set of aliases, thus allowing the user to re-name one or more globally defined `Graph` or `TraversalSource` server bindings for the context of the created `Client`.
      Overrides:
        `alias` in class `Client`

    - #### chooseConnection

          protected org.apache.tinkerpop.gremlin.driver.Connection chooseConnection(org.apache.tinkerpop.gremlin.driver.message.RequestMessage msg)
                                                                             throws TimeoutException,
                                                                                    org.apache.tinkerpop.gremlin.driver.exception.ConnectionException

      Uses a `LoadBalancingStrategy` to choose the best `Host` and then selects the best connection from that host's connection pool.
      Specified by:
        `chooseConnection` in class `Client`
      Throws:
        `TimeoutException`
        `org.apache.tinkerpop.gremlin.driver.exception.ConnectionException`

    - #### initializeImplementation

          protected void initializeImplementation()

      Initializes the connection pools on all hosts.
      Specified by:
        `initializeImplementation` in class `Client`

    - #### closeAsync

          public CompletableFuture<Void> closeAsync()

      Closes all the connection pools on all hosts.
      Specified by:
        `closeAsync` in class `Client`

Copyright © 2013–2021 Apache Software Foundation. All rights reserved.