javax.ws.rs

## Class ServiceUnavailableException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.lang.RuntimeException
      - - javax.ws.rs.WebApplicationException
        - - javax.ws.rs.ServerErrorException
          - - javax.ws.rs.ServiceUnavailableException

- All Implemented Interfaces:
    Serializable

      public class ServiceUnavailableException
      extends ServerErrorException

  A runtime exception indicating that the requested resource `cannot be served`.
  Since:
    2.0
  Author:
    Marek Potociar
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ServiceUnavailableException()` Construct a new "service unavailable" exception without any "Retry-After" information specified for the failed request.
    `ServiceUnavailableException(Date retryAfter)` Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request.
    `ServiceUnavailableException(Date retryAfter, Throwable cause)` Construct a new "service unavailable" exception with a date specifying the "Retry-After" information for the failed request and an underlying request failure cause.
    `ServiceUnavailableException(Long retryAfter)` Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request.
    `ServiceUnavailableException(Long retryAfter, Throwable cause)` Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request and an underlying request failure cause.
    `ServiceUnavailableException(Response response)` Construct a new "service unavailable" exception.
    `ServiceUnavailableException(Response response, Throwable cause)` Construct a new "service unavailable" exception.
    `ServiceUnavailableException(String message)` Construct a new "service unavailable" exception without any "Retry-After" information specified for the failed request.
    `ServiceUnavailableException(String message, Date retryAfter)` Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request.
    `ServiceUnavailableException(String message, Date retryAfter, Throwable cause)` Construct a new "service unavailable" exception with a date specifying the "Retry-After" information for the failed request and an underlying request failure cause.
    `ServiceUnavailableException(String message, Long retryAfter)` Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request.
    `ServiceUnavailableException(String message, Long retryAfter, Throwable cause)` Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request and an underlying request failure cause.
    `ServiceUnavailableException(String message, Response response)` Construct a new "service unavailable" exception.
    `ServiceUnavailableException(String message, Response response, Throwable cause)` Construct a new "service unavailable" exception.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Date` | `getRetryTime(Date requestTime)` Get the retry time for the failed request.
    `boolean` | `hasRetryAfter()` Check if the underlying response contains the information on when is it possible to `retry the request`.

    - ### Methods inherited from class javax.ws.rs.WebApplicationException

      `getResponse`

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

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

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

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

- - ### Constructor Detail

    - #### ServiceUnavailableException

          public ServiceUnavailableException()

      Construct a new "service unavailable" exception without any "Retry-After" information specified for the failed request.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(String message)

      Construct a new "service unavailable" exception without any "Retry-After" information specified for the failed request.
      Parameters:
        `message` - the detail message (which is saved for later retrieval by the `Throwable.getMessage()` method).

    - #### ServiceUnavailableException

          public ServiceUnavailableException(Long retryAfter)

      Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request.
      Parameters:
        `retryAfter` - decimal interval in seconds after which the failed request may be retried.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(String message,
                                     Long retryAfter)

      Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request.
      Parameters:
        `message` - the detail message (which is saved for later retrieval by the `Throwable.getMessage()` method).
        `retryAfter` - decimal interval in seconds after which the failed request may be retried.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(Date retryAfter)

      Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request.
      Parameters:
        `retryAfter` - a date/time after which the failed request may be retried.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(String message,
                                     Date retryAfter)

      Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request.
      Parameters:
        `message` - the detail message (which is saved for later retrieval by the `Throwable.getMessage()` method).
        `retryAfter` - a date/time after which the failed request may be retried.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(Response response)

      Construct a new "service unavailable" exception.
      Parameters:
        `response` - error response.
      Throws:
        `IllegalArgumentException` - in case the status code set in the response is not HTTP `503`.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(String message,
                                     Response response)

      Construct a new "service unavailable" exception.
      Parameters:
        `message` - the detail message (which is saved for later retrieval by the `Throwable.getMessage()` method).
        `response` - error response.
      Throws:
        `IllegalArgumentException` - in case the status code set in the response is not HTTP `503`.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(Date retryAfter,
                                     Throwable cause)

      Construct a new "service unavailable" exception with a date specifying the "Retry-After" information for the failed request and an underlying request failure cause.
      Parameters:
        `retryAfter` - a date/time after which the failed request may be retried.
        `cause` - the underlying cause of the exception.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(String message,
                                     Date retryAfter,
                                     Throwable cause)

      Construct a new "service unavailable" exception with a date specifying the "Retry-After" information for the failed request and an underlying request failure cause.
      Parameters:
        `message` - the detail message (which is saved for later retrieval by the `Throwable.getMessage()` method).
        `retryAfter` - a date/time after which the failed request may be retried.
        `cause` - the underlying cause of the exception.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(Long retryAfter,
                                     Throwable cause)

      Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request and an underlying request failure cause.
      Parameters:
        `retryAfter` - decimal interval in seconds after which the failed request may be retried.
        `cause` - the underlying cause of the exception.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(String message,
                                     Long retryAfter,
                                     Throwable cause)

      Construct a new "service unavailable" exception with an interval specifying the "Retry-After" information for the failed request and an underlying request failure cause.
      Parameters:
        `message` - the detail message (which is saved for later retrieval by the `Throwable.getMessage()` method).
        `retryAfter` - decimal interval in seconds after which the failed request may be retried.
        `cause` - the underlying cause of the exception.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(Response response,
                                     Throwable cause)

      Construct a new "service unavailable" exception.
      Parameters:
        `response` - error response.
        `cause` - the underlying cause of the exception.
      Throws:
        `IllegalArgumentException` - in case the status code set in the response is not HTTP `503`.

    - #### ServiceUnavailableException

          public ServiceUnavailableException(String message,
                                     Response response,
                                     Throwable cause)

      Construct a new "service unavailable" exception.
      Parameters:
        `message` - the detail message (which is saved for later retrieval by the `Throwable.getMessage()` method).
        `response` - error response.
        `cause` - the underlying cause of the exception.
      Throws:
        `IllegalArgumentException` - in case the status code set in the response is not HTTP `503`.

  - ### Method Detail

    - #### hasRetryAfter

          public boolean hasRetryAfter()

      Check if the underlying response contains the information on when is it possible to `retry the request`.
      Returns:
        `true` in case the retry time is specified in the underlying response, `false` otherwise.

    - #### getRetryTime

          public Date getRetryTime(Date requestTime)

      Get the retry time for the failed request.
      Parameters:
        `requestTime` - time of sending the original request that may be used to compute the retry time (in case the retry time information specified as a decimal interval in seconds).
      Returns:
        time when the request may be retried or `null` if there is no retry information available.
      Throws:
        `NullPointerException` - in case the `requestTime` parameter is `null`.

Copyright © 2014. All Rights Reserved.