Class Throwables

    • Constructor Detail

      • Throwables

        public Throwables()
    • Method Detail

      • retryAndWrapExceptionIfNecessary

        public static <V> V retryAndWrapExceptionIfNecessary​(Callable<V> callable,
                                                             TokenCallable token,
                                                             String message,
                                                             Throwable cause)
                                                      throws RuntimeException

        Retries the given callable after obtaining a fresh token from the server. If the attempt to retry fails the exception is handled as defined by handleWrapException(String, Throwable).

        A retry is only attempted in case the cause is a HttpResponseException with a 403 status code. In some cases the session associated with the token is no longer valid and a new token must be issues.

        Type Parameters:
        V - the result of the callable
        Parameters:
        callable - the callable to retry
        token - the token
        message - the message
        cause - the cause
        Returns:
        the result of the callable
        Throws:
        RuntimeException - in case the attempt to retry fails