Class LockTimeoutException

java.lang.Object
java.lang.Throwable
java.lang.Exception
com.bea.wcp.sip.engine.server.LockTimeoutException
All Implemented Interfaces:
Serializable

public class LockTimeoutException extends Exception
This exception is thrown when a method in a Session is unable to get a lock it requires. It does not, per se, indicate an error in the system, but rather that another party is holding the required lock.

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.

Author:
Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
See Also:
  • Constructor Details

    • LockTimeoutException

      public LockTimeoutException(String s)