Class ExclusiveResource

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

@API(status=STABLE, since="1.10") 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.

Extensibility

Although it is technically possible to extend this class, extension is strongly discouraged.

Since:
1.3
See Also:
  • Field Details

    • GLOBAL_KEY

      @API(status=STABLE, since="1.10") 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: "org.junit.platform.engine.support.hierarchical.ExclusiveResource.GLOBAL_KEY"

      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:
  • 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