Class AerospikeReactorRetryClient

java.lang.Object
com.aerospike.client.reactor.retry.AerospikeReactorRetryClient
All Implemented Interfaces:
DefaultPolicyProvider, IAerospikeReactorClient, Closeable, AutoCloseable

public class AerospikeReactorRetryClient
extends Object
implements IAerospikeReactorClient
  • Constructor Summary

    Constructors 
    Constructor Description
    AerospikeReactorRetryClient​(IAerospikeReactorClient client, reactor.util.retry.Retry retryPolicy)  
  • Method Summary

    Modifier and Type Method Description
    reactor.core.publisher.Mono<com.aerospike.client.Key> add​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively add integer bin values to existing record bin values.
    reactor.core.publisher.Mono<com.aerospike.client.Key> add​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively add integer bin values to existing record bin values.
    reactor.core.publisher.Mono<com.aerospike.client.Key> append​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively append bin string values to existing record bin values.
    reactor.core.publisher.Mono<com.aerospike.client.Key> append​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively append bin string values to existing record bin values.
    void close()  
    reactor.core.publisher.Mono<Void> createIndex​(com.aerospike.client.policy.Policy policy, String namespace, String setName, String indexName, String binName, com.aerospike.client.query.IndexType indexType, com.aerospike.client.query.IndexCollectionType indexCollectionType)
    Reactively create complex secondary index to be used on bins containing collections.
    reactor.core.publisher.Mono<com.aerospike.client.Key> delete​(com.aerospike.client.Key key)
    Reactively delete record for specified key.
    reactor.core.publisher.Mono<com.aerospike.client.Key> delete​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key)
    Reactively delete record for specified key.
    reactor.core.publisher.Mono<Void> dropIndex​(com.aerospike.client.policy.Policy policy, String namespace, String setName, String indexName)
    Reactively delete secondary index.
    reactor.core.publisher.Mono<KeyObject> execute​(com.aerospike.client.Key key, String packageName, String functionName, com.aerospike.client.Value... functionArgs)
    Reactively execute user defined function on server.
    reactor.core.publisher.Mono<KeyObject> execute​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, String packageName, String functionName, com.aerospike.client.Value... functionArgs)
    Reactively execute user defined function on server.
    reactor.core.publisher.Mono<com.aerospike.client.Key> exists​(com.aerospike.client.Key key)
    Reactively determine if a record key exists.
    reactor.core.publisher.Mono<KeysExists> exists​(com.aerospike.client.Key[] keys)
    Reactively check if multiple record keys exist in one batch call.
    reactor.core.publisher.Mono<KeysExists> exists​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys)
    Reactively check if multiple record keys exist in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.Key> exists​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key)
    Reactively determine if a record key exists.
    reactor.core.publisher.Flux<KeyExists> existsFlux​(com.aerospike.client.Key[] keys)
    Reactively check if multiple record keys exist in one batch call.
    reactor.core.publisher.Flux<KeyExists> existsFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys)
    Reactively check if multiple record keys exist in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.Key key)
    Reactively read entire record for specified key.
    reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.Key[] keys)
    Reactively read multiple records for specified keys in one batch call.
    reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations)
    Reactively read multiple records for specified keys using read operations in one batch call.
    reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys)
    Reactively read multiple records for specified keys in one batch call.
    reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations)
    Reactively read multiple records for specified keys using read operations in one batch call.
    reactor.core.publisher.Mono<List<com.aerospike.client.BatchRead>> get​(com.aerospike.client.policy.BatchPolicy policy, List<com.aerospike.client.BatchRead> records)
    Reactively read multiple records for specified batch keys in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key)
    Reactively read entire record for specified key.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key, String[] binNames)
    Reactively read record header and bins for specified key.
    reactor.core.publisher.Mono<List<com.aerospike.client.BatchRead>> get​(List<com.aerospike.client.BatchRead> records)
    Asynchronously read multiple records for specified batch keys in one batch call.
    com.aerospike.client.IAerospikeClient getAerospikeClient()
    Return the original non-reactive Aerospike Client
    com.aerospike.client.policy.BatchPolicy getBatchPolicyDefault()  
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.Key[] keys)
    Reactively read multiple records for specified keys in one batch call.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations)
    Reactively read multiple records for specified keys using read operations in one batch call.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys)
    Reactively read multiple records for specified keys in one batch call.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations)
    Reactively read multiple records for specified keys using read operations in one batch call.
    reactor.core.publisher.Flux<com.aerospike.client.BatchRead> getFlux​(com.aerospike.client.policy.BatchPolicy policy, List<com.aerospike.client.BatchRead> records)
    Reactively read multiple records for specified batch keys in one batch call.
    reactor.core.publisher.Flux<com.aerospike.client.BatchRead> getFlux​(List<com.aerospike.client.BatchRead> records)
    Reactively read multiple records for specified batch keys in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> getHeader​(com.aerospike.client.Key key)
    Reactively read record generation and expiration only for specified key.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> getHeader​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key)
    Reactively read record generation and expiration only for specified key.
    reactor.core.publisher.Mono<KeysRecords> getHeaders​(com.aerospike.client.Key[] keys)
    Reactively read multiple record header data for specified keys in one batch call.
    reactor.core.publisher.Mono<KeysRecords> getHeaders​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys)
    Reactively read multiple record header data for specified keys in one batch call.
    com.aerospike.client.policy.InfoPolicy getInfoPolicyDefault()  
    com.aerospike.client.policy.QueryPolicy getQueryPolicyDefault()  
    com.aerospike.client.policy.Policy getReadPolicyDefault()  
    com.aerospike.client.policy.ScanPolicy getScanPolicyDefault()  
    com.aerospike.client.policy.WritePolicy getWritePolicyDefault()  
    reactor.core.publisher.Mono<String> info​(com.aerospike.client.policy.InfoPolicy infoPolicy, com.aerospike.client.cluster.Node node, String command)
    Reactively access server's info monitoring protocol.
    reactor.core.publisher.Mono<Map<String,​String>> info​(com.aerospike.client.policy.InfoPolicy infoPolicy, com.aerospike.client.cluster.Node node, List<String> commands)
    Reactively access server's info monitoring protocol.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> operate​(com.aerospike.client.Key key, com.aerospike.client.Operation... operations)
    Reactively perform multiple read/write operations on a single key in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> operate​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Operation... operations)
    Reactively perform multiple read/write operations on a single key in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.Key> prepend​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively prepend bin string values to existing record bin values.
    reactor.core.publisher.Mono<com.aerospike.client.Key> prepend​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively prepend bin string values to existing record bin values.
    reactor.core.publisher.Mono<com.aerospike.client.Key> put​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively write record bin(s).
    reactor.core.publisher.Mono<com.aerospike.client.Key> put​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively write record bin(s).
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> query​(com.aerospike.client.policy.QueryPolicy policy, com.aerospike.client.query.Statement statement)
    Reactively execute query on all server nodes.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> query​(com.aerospike.client.query.Statement statement)
    Reactively execute query on all server nodes.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> scanAll​(com.aerospike.client.policy.ScanPolicy policy, String namespace, String setName, String... binNames)
    Reactively read all records in specified namespace and set.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> scanAll​(String namespace, String setName, String... binNames)
    Reactively read all records in specified namespace and set.
    reactor.core.publisher.Mono<com.aerospike.client.Key> touch​(com.aerospike.client.Key key)
    Reactively reset record's time to expiration using the policy's expiration.
    reactor.core.publisher.Mono<com.aerospike.client.Key> touch​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key)
    Reactively reset record's time to expiration using the policy's expiration.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • get

      public final reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read entire record for specified key. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.
      Specified by:
      get in interface IAerospikeReactorClient
      Parameters:
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      public final reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read entire record for specified key. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy can be used to specify timeouts.

      Specified by:
      get in interface IAerospikeReactorClient
      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      public final reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key, String[] binNames) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read record header and bins for specified key.

      The policy can be used to specify timeouts.

      Specified by:
      get in interface IAerospikeReactorClient
      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      key - unique record identifier
      binNames - bins to retrieve
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      public final reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple records for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null. The policy can be used to specify timeouts.

      Specified by:
      get in interface IAerospikeReactorClient
      Parameters:
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      public final reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple records for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null. The policy can be used to specify timeouts.

      Specified by:
      get in interface IAerospikeReactorClient
      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      public final reactor.core.publisher.Mono<List<com.aerospike.client.BatchRead>> get​(List<com.aerospike.client.BatchRead> records) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Asynchronously read multiple records for specified batch keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      This method allows different namespaces/bins to be requested for each key in the batch. The returned records are located in the same list. If the BatchRead key field is not found, the corresponding record field will be null.

      Specified by:
      get in interface IAerospikeReactorClient
      Parameters:
      records - list of unique record identifiers and the bins to retrieve. The returned records are located in the same list.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      public final reactor.core.publisher.Mono<List<com.aerospike.client.BatchRead>> get​(com.aerospike.client.policy.BatchPolicy policy, List<com.aerospike.client.BatchRead> records) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple records for specified batch keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      This method allows different namespaces/bins to be requested for each key in the batch. The returned records are located in the same list. If the BatchRead key field is not found, the corresponding record field will be null.

      The policy can be used to specify timeouts.

      Specified by:
      get in interface IAerospikeReactorClient
      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      records - list of unique record identifiers and the bins to retrieve. The returned records are located in the same list.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      public reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple records for specified keys using read operations in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null.

      If a batch request to a node fails, the entire batch is cancelled.

      Specified by:
      get in interface IAerospikeReactorClient
      Parameters:
      keys - array of unique record identifiers
      operations - array of read operations on record
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      public reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple records for specified keys using read operations in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null.

      If a batch request to a node fails, the entire batch is cancelled.

      Specified by:
      get in interface IAerospikeReactorClient
      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - array of unique record identifiers
      operations - array of read operations on record
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      public final reactor.core.publisher.Flux<com.aerospike.client.BatchRead> getFlux​(List<com.aerospike.client.BatchRead> records) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple records for specified batch keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      This method allows different namespaces/bins to be requested for each key in the batch. Each record result is returned in separate onRecord() calls. If the BatchRead key field is not found, the corresponding record field will be null.

      Specified by:
      getFlux in interface IAerospikeReactorClient
      Parameters:
      records - list of unique record identifiers and the bins to retrieve. The returned records are located in the same list.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      public final reactor.core.publisher.Flux<com.aerospike.client.BatchRead> getFlux​(com.aerospike.client.policy.BatchPolicy policy, List<com.aerospike.client.BatchRead> records) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple records for specified batch keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      This method allows different namespaces/bins to be requested for each key in the batch. Each record result is returned in separate onRecord() calls. If the BatchRead key field is not found, the corresponding record field will be null. The policy can be used to specify timeouts.

      Specified by:
      getFlux in interface IAerospikeReactorClient
      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      records - list of unique record identifiers and the bins to retrieve. The returned records are located in the same list.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      public final reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple records for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each record result is returned in separate onRecord() calls. If a key is not found, the record will be null. The policy can be used to specify timeouts.

      Specified by:
      getFlux in interface IAerospikeReactorClient
      Parameters:
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      public final reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple records for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each record result is returned in separate onRecord() calls. If a key is not found, the record will be null. The policy can be used to specify timeouts.

      Specified by:
      getFlux in interface IAerospikeReactorClient
      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      public reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple records for specified keys using read operations in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each record result is returned in separate onRecord() calls. If a key is not found, the record will be null.

      If a batch request to a node fails, responses from other nodes will continue to be processed.

      Specified by:
      getFlux in interface IAerospikeReactorClient
      Parameters:
      keys - array of unique record identifiers
      operations - array of read operations on record
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      public reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple records for specified keys using read operations in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each record result is returned in separate onRecord() calls. If a key is not found, the record will be null.

      If a batch request to a node fails, responses from other nodes will continue to be processed.

      Specified by:
      getFlux in interface IAerospikeReactorClient
      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - array of unique record identifiers
      operations - array of read operations on record
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getHeader

      public final reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> getHeader​(com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read record generation and expiration only for specified key. Bins are not read. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Specified by:
      getHeader in interface IAerospikeReactorClient
      Parameters:
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getHeader

      public final reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> getHeader​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read record generation and expiration only for specified key. Bins are not read. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy can be used to specify timeouts.

      Specified by:
      getHeader in interface IAerospikeReactorClient
      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getHeaders

      public final reactor.core.publisher.Mono<KeysRecords> getHeaders​(com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple record header data for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null.

      Specified by:
      getHeaders in interface IAerospikeReactorClient
      Parameters:
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getHeaders

      public final reactor.core.publisher.Mono<KeysRecords> getHeaders​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read multiple record header data for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null. The policy can be used to specify timeouts.

      Specified by:
      getHeaders in interface IAerospikeReactorClient
      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • touch

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> touch​(com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively reset record's time to expiration using the policy's expiration. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Fail if the record does not exist.

      Specified by:
      touch in interface IAerospikeReactorClient
      Parameters:
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • touch

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> touch​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively reset record's time to expiration using the policy's expiration. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Fail if the record does not exist.

      Specified by:
      touch in interface IAerospikeReactorClient
      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • exists

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> exists​(com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively determine if a record key exists. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.
      Specified by:
      exists in interface IAerospikeReactorClient
      Parameters:
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • exists

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> exists​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively determine if a record key exists. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy can be used to specify timeouts.

      Specified by:
      exists in interface IAerospikeReactorClient
      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • exists

      public final reactor.core.publisher.Mono<KeysExists> exists​(com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively check if multiple record keys exist in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned boolean array is in positional order with the original key array order.

      Specified by:
      exists in interface IAerospikeReactorClient
      Parameters:
      keys - unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • exists

      public final reactor.core.publisher.Mono<KeysExists> exists​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively check if multiple record keys exist in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned boolean array is in positional order with the original key array order.

      Specified by:
      exists in interface IAerospikeReactorClient
      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • existsFlux

      public final reactor.core.publisher.Flux<KeyExists> existsFlux​(com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively check if multiple record keys exist in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each key's result is returned in separate onExists() calls.

      Specified by:
      existsFlux in interface IAerospikeReactorClient
      Parameters:
      keys - unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • existsFlux

      public final reactor.core.publisher.Flux<KeyExists> existsFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively check if multiple record keys exist in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each key's result is returned in separate onExists() calls.

      Specified by:
      existsFlux in interface IAerospikeReactorClient
      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • put

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> put​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively write record bin(s). This method registers the command with an event loop and returns. The event loop thread will process the command and publish result.
      Specified by:
      put in interface IAerospikeReactorClient
      Parameters:
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • put

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> put​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively write record bin(s). This method registers the command with an event loop and returns. The event loop thread will process the command and publish result.

      The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists.

      Specified by:
      put in interface IAerospikeReactorClient
      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • append

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> append​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively append bin string values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.
      Specified by:
      append in interface IAerospikeReactorClient
      Parameters:
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • append

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> append​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively append bin string values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists. This call only works for string values.

      Specified by:
      append in interface IAerospikeReactorClient
      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • prepend

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> prepend​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively prepend bin string values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Specified by:
      prepend in interface IAerospikeReactorClient
      Parameters:
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • prepend

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> prepend​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively prepend bin string values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists. This call only works for string values.

      Specified by:
      prepend in interface IAerospikeReactorClient
      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • add

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> add​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively add integer bin values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.
      Specified by:
      add in interface IAerospikeReactorClient
      Parameters:
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • add

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> add​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively add integer bin values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists. This call only works for integer values.

      Specified by:
      add in interface IAerospikeReactorClient
      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • delete

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> delete​(com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively delete record for specified key. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.
      Specified by:
      delete in interface IAerospikeReactorClient
      Parameters:
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • delete

      public final reactor.core.publisher.Mono<com.aerospike.client.Key> delete​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively delete record for specified key. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy specifies the transaction timeout.

      Specified by:
      delete in interface IAerospikeReactorClient
      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • operate

      public final reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> operate​(com.aerospike.client.Key key, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively perform multiple read/write operations on a single key in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      An example would be to add an integer value to an existing record and then read the result, all in one database call.

      Write operations are always performed first, regardless of operation order relative to read operations.

      Both scalar bin operations (Operation) and list bin operations (ListOperation) can be performed in same call.

      Specified by:
      operate in interface IAerospikeReactorClient
      Parameters:
      key - unique record identifier
      operations - database operations to perform
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • operate

      public final reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> operate​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively perform multiple read/write operations on a single key in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      An example would be to add an integer value to an existing record and then read the result, all in one database call.

      Write operations are always performed first, regardless of operation order relative to read operations.

      Both scalar bin operations (Operation) and list bin operations (ListOperation) can be performed in same call.

      Specified by:
      operate in interface IAerospikeReactorClient
      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      operations - database operations to perform
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • query

      public final reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> query​(com.aerospike.client.query.Statement statement) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively execute query on all server nodes. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the flux.
      Specified by:
      query in interface IAerospikeReactorClient
      Parameters:
      statement - database query command
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • query

      public final reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> query​(com.aerospike.client.policy.QueryPolicy policy, com.aerospike.client.query.Statement statement) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively execute query on all server nodes. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the flux.
      Specified by:
      query in interface IAerospikeReactorClient
      Parameters:
      policy - query configuration parameters, pass in null for defaults
      statement - database query command
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • scanAll

      public final reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> scanAll​(String namespace, String setName, String... binNames) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read all records in specified namespace and set. If the policy's concurrentNodes is specified, each server node will be read in parallel. Otherwise, server nodes are read in series.

      This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Specified by:
      scanAll in interface IAerospikeReactorClient
      Parameters:
      namespace - namespace - equivalent to database name
      setName - optional set name - equivalent to database table
      binNames - optional bin to retrieve. All bins will be returned if not specified. Aerospike 2 servers ignore this parameter.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • scanAll

      public final reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> scanAll​(com.aerospike.client.policy.ScanPolicy policy, String namespace, String setName, String... binNames) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively read all records in specified namespace and set. If the policy's concurrentNodes is specified, each server node will be read in parallel. Otherwise, server nodes are read in series.

      This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Specified by:
      scanAll in interface IAerospikeReactorClient
      Parameters:
      policy - scan configuration parameters, pass in null for defaults
      namespace - namespace - equivalent to database name
      setName - optional set name - equivalent to database table
      binNames - optional bin to retrieve. All bins will be returned if not specified. Aerospike 2 servers ignore this parameter.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • execute

      public final reactor.core.publisher.Mono<KeyObject> execute​(com.aerospike.client.Key key, String packageName, String functionName, com.aerospike.client.Value... functionArgs) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively execute user defined function on server. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The function operates on a single record. The package name is used to locate the udf file location:

      udf file = /.lua

      Specified by:
      execute in interface IAerospikeReactorClient
      Parameters:
      key - unique record identifier
      packageName - server package name where user defined function resides
      functionName - user defined function
      functionArgs - arguments passed in to user defined function
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • execute

      public final reactor.core.publisher.Mono<KeyObject> execute​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, String packageName, String functionName, com.aerospike.client.Value... functionArgs) throws com.aerospike.client.AerospikeException
      Description copied from interface: IAerospikeReactorClient
      Reactively execute user defined function on server. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The function operates on a single record. The package name is used to locate the udf file location:

      udf file = /.lua

      Specified by:
      execute in interface IAerospikeReactorClient
      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      packageName - server package name where user defined function resides
      functionName - user defined function
      functionArgs - arguments passed in to user defined function
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • info

      public reactor.core.publisher.Mono<String> info​(com.aerospike.client.policy.InfoPolicy infoPolicy, com.aerospike.client.cluster.Node node, String command)
      Description copied from interface: IAerospikeReactorClient
      Reactively access server's info monitoring protocol.

      The info protocol is a name/value pair based system, where an individual database server node is queried to determine its configuration and status. The list of supported names can be found at:

      https://www.aerospike.com/docs/reference/info/index.html

      Specified by:
      info in interface IAerospikeReactorClient
    • info

      public reactor.core.publisher.Mono<Map<String,​String>> info​(com.aerospike.client.policy.InfoPolicy infoPolicy, com.aerospike.client.cluster.Node node, List<String> commands)
      Description copied from interface: IAerospikeReactorClient
      Reactively access server's info monitoring protocol.

      The info protocol is a name/value pair based system, where an individual database server node is queried to determine its configuration and status. The list of supported names can be found at:

      https://www.aerospike.com/docs/reference/info/index.html

      Specified by:
      info in interface IAerospikeReactorClient
    • createIndex

      public reactor.core.publisher.Mono<Void> createIndex​(com.aerospike.client.policy.Policy policy, String namespace, String setName, String indexName, String binName, com.aerospike.client.query.IndexType indexType, com.aerospike.client.query.IndexCollectionType indexCollectionType)
      Description copied from interface: IAerospikeReactorClient
      Reactively create complex secondary index to be used on bins containing collections.
      Specified by:
      createIndex in interface IAerospikeReactorClient
      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      namespace - namespace - equivalent to database name
      setName - optional set name - equivalent to database table
      indexName - name of secondary index
      binName - bin name that data is indexed on
      indexType - underlying data type of secondary index
      indexCollectionType - index collection type
    • dropIndex

      public reactor.core.publisher.Mono<Void> dropIndex​(com.aerospike.client.policy.Policy policy, String namespace, String setName, String indexName)
      Description copied from interface: IAerospikeReactorClient
      Reactively delete secondary index. This asynchronous server call will return before command is complete. The user can optionally wait for command completion by using the returned IndexTask instance.
      Specified by:
      dropIndex in interface IAerospikeReactorClient
      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      namespace - namespace - equivalent to database name
      setName - optional set name - equivalent to database table
      indexName - name of secondary index
    • getAerospikeClient

      public com.aerospike.client.IAerospikeClient getAerospikeClient()
      Description copied from interface: IAerospikeReactorClient
      Return the original non-reactive Aerospike Client
      Specified by:
      getAerospikeClient in interface IAerospikeReactorClient
    • getReadPolicyDefault

      public com.aerospike.client.policy.Policy getReadPolicyDefault()
      Specified by:
      getReadPolicyDefault in interface DefaultPolicyProvider
    • getWritePolicyDefault

      public com.aerospike.client.policy.WritePolicy getWritePolicyDefault()
      Specified by:
      getWritePolicyDefault in interface DefaultPolicyProvider
    • getScanPolicyDefault

      public com.aerospike.client.policy.ScanPolicy getScanPolicyDefault()
      Specified by:
      getScanPolicyDefault in interface DefaultPolicyProvider
    • getQueryPolicyDefault

      public com.aerospike.client.policy.QueryPolicy getQueryPolicyDefault()
      Specified by:
      getQueryPolicyDefault in interface DefaultPolicyProvider
    • getBatchPolicyDefault

      public com.aerospike.client.policy.BatchPolicy getBatchPolicyDefault()
      Specified by:
      getBatchPolicyDefault in interface DefaultPolicyProvider
    • getInfoPolicyDefault

      public com.aerospike.client.policy.InfoPolicy getInfoPolicyDefault()
      Specified by:
      getInfoPolicyDefault in interface DefaultPolicyProvider