Class ConcurrentAccessException

  • All Implemented Interfaces:
    java.io.Serializable

    public class ConcurrentAccessException
    extends AccountException
    Thrown when an authentication attempt has been received for an account that has already been authenticated (i.e. logged-in), and the system is configured to prevent such concurrent access.

    This is useful when an application must ensure that only one person is logged-in to a single account at any given time.

    Sometimes account names and passwords are lazily given away to many people for easy access to a system. Such behavior is undesirable in systems where users are accountable for their actions, such as in government applications, or when licensing agreements must be maintained, such as those which only allow 1 user per paid license.

    By disallowing concurrent access, such systems can ensure that each authenticated session corresponds to one and only one user at any given time.

    Since:
    1.5.0
    See Also:
    Serialized Form
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void assertThrown​(@NotNull java.lang.Runnable runnable)
      Asserts that the specified runnable throws this exception and if not throws an junit assertion failure.
      • 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

      • ConcurrentAccessException

        public ConcurrentAccessException()
        Creates a new ConcurrentAccessException.
      • ConcurrentAccessException

        public ConcurrentAccessException​(java.lang.String message)
        Constructs a new ConcurrentAccessException.
        Parameters:
        message - the reason for the exception
      • ConcurrentAccessException

        public ConcurrentAccessException​(java.lang.Throwable cause)
        Constructs a new ConcurrentAccessException.
        Parameters:
        cause - the underlying Throwable that caused this exception to be thrown
      • ConcurrentAccessException

        public ConcurrentAccessException​(java.lang.String message,
                                         java.lang.Throwable cause)
        Constructs a new ConcurrentAccessException.
        Parameters:
        message - the reason for the exception
        cause - the underlying Throwable that caused this exception to be thrown
    • Method Detail

      • assertThrown

        public static void assertThrown​(@NotNull
                                        @NotNull java.lang.Runnable runnable)
        Asserts that the specified runnable throws this exception and if not throws an junit assertion failure.
        Parameters:
        runnable - the runnable to verify