Class ExclusiveResource

java.lang.Object
org.junit.platform.engine.support.hierarchical.ExclusiveResource

@API(status=EXPERIMENTAL, since="1.3") public class ExclusiveResource extends Object
An exclusive resource identified by a key with a lock mode that is used to synchronize access to shared resources when executing nodes in parallel.
Since:
1.3
See Also:
  • Field Details

    • GLOBAL_KEY

      @API(status=EXPERIMENTAL, since="1.7") public static final String GLOBAL_KEY
      Key of the global resource lock that all direct children of the engine descriptor acquire in read mode by default.

      If any node requires an exclusive resource with the same key in read-write mode, the lock will be coarsened to be acquired by the node's ancestor that is a direct child of the engine descriptor and all of the ancestor's descendants will be forced to run in the same thread.

      Since:
      1.7
      See Also:
    • GLOBAL_READ

      static final ExclusiveResource GLOBAL_READ
    • GLOBAL_READ_WRITE

      static final ExclusiveResource GLOBAL_READ_WRITE
    • key

      private final String key
    • lockMode

      private final ExclusiveResource.LockMode lockMode
    • hash

      private int hash
  • Constructor Details

    • ExclusiveResource

      public ExclusiveResource(String key, ExclusiveResource.LockMode lockMode)
      Create a new ExclusiveResource.
      Parameters:
      key - the identifier of the resource; never null or blank
      lockMode - the lock mode to use to synchronize access to the resource; never null
  • Method Details