Class Client.ClusteredClient

java.lang.Object
org.apache.tinkerpop.gremlin.driver.Client
org.apache.tinkerpop.gremlin.driver.Client.ClusteredClient
All Implemented Interfaces:
RequestSubmitter, RequestSubmitterAsync
Enclosing class:
Client

public static final class Client.ClusteredClient extends Client
A Client implementation. Requests are sent to multiple servers given a LoadBalancingStrategy. Transactions are automatically committed (or rolled-back on error) after each request.
  • Method Details

    • 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"
    • chooseConnection

      protected org.apache.tinkerpop.gremlin.driver.Connection chooseConnection(RequestMessage msg) throws TimeoutException, 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
      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
    • tryReInitializeHost

      public boolean tryReInitializeHost(Host host)
      Attempt to re-initialize the Host that was previously marked as unavailable. This method gets called as part of a schedule in Host to periodically try to re-initialize.