public class LockTimeoutException extends Exception
When this exception is received, we recommend the calling application take one of two actions. The simple option is to bounce the request back to the UAC with a 486 (Busy Here) and an application-appropriate retry interval in the Retry-After header. Of course, not all clients will respond correctly.
The other option is to encode the request in a timer, and set the timer to fire after the retry interval. This enables the request to be re-attempted later.
The application should NOT simply retry the request immediately, or even after sleeping for a time. It is likely in this situation that two parties already hold their own call-state locks, and are trying to get each others' lock. That is, they are deadlocked. Simply trying again will not solve the deadlock; one or both parties need to give up and come back later.
Constructor and Description |
---|
LockTimeoutException(String s) |
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
public LockTimeoutException(String s)