Package net.snowflake.client.jdbc

## Class RetryContextManager

- java.lang.Object
- - net.snowflake.client.jdbc.RetryContextManager

    @SnowflakeJdbcInternalApi
    public class RetryContextManager
    extends Object

RetryContextManager lets you register logic (as callbacks) that will be re-executed during a retry of a request.

### Nested Class Summary

Nested Classes
`static class` `RetryContextManager.RetryHook` Enumeration for different retry hook strategies.

### Constructor Summary

Constructors
`RetryContextManager()` Default constructor using ALWAYS_BEFORE_RETRY as the default retry hook.
`RetryContextManager​(RetryContextManager.RetryHook retryHook)` Constructor that accepts a specific RetryHook.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `executeRetryCallbacks​(org.apache.http.client.methods.HttpRequestBase requestToRetry)` Executes all registered retry callbacks in the order they were added, before reattempting the operation.
`RetryContext` `getRetryContext()`
`RetryContextManager.RetryHook` `getRetryHook()` Returns the configured RetryHook.
`RetryContextManager` `registerRetryCallback​(ThrowingBiFunction<org.apache.http.client.methods.HttpRequestBase,​RetryContext,​RetryContext,​SnowflakeSQLException> callback)` Registers a retry callback that will be executed on each retry.

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

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

### Constructor Detail

#### RetryContextManager

    public RetryContextManager()

Default constructor using ALWAYS_BEFORE_RETRY as the default retry hook.

#### RetryContextManager

    public RetryContextManager​(RetryContextManager.RetryHook retryHook)

Constructor that accepts a specific RetryHook.

Parameters:
  `retryHook` - the retry hook strategy.

### Method Detail

#### registerRetryCallback

    public RetryContextManager registerRetryCallback​(ThrowingBiFunction<org.apache.http.client.methods.HttpRequestBase,​RetryContext,​RetryContext,​SnowflakeSQLException> callback)

Registers a retry callback that will be executed on each retry.

Parameters:
  `callback` - A RetryCallback encapsulating the logic to be replayed on retry.
Returns:
  the current instance for fluent chaining.

#### executeRetryCallbacks

    public void executeRetryCallbacks​(org.apache.http.client.methods.HttpRequestBase requestToRetry)
                               throws SnowflakeSQLException

Executes all registered retry callbacks in the order they were added, before reattempting the operation.

Parameters:
  `requestToRetry` - the HTTP request to retry.
Throws:
  `SnowflakeSQLException` - if an error occurs during callback execution.

#### getRetryHook

    public RetryContextManager.RetryHook getRetryHook()

Returns the configured RetryHook.

Returns:
  the retry hook.

#### getRetryContext

    public RetryContext getRetryContext()