Interface PlanExecutionLockService

All Known Implementing Classes:
PlanExecutionLockServiceImpl

@Internal public interface PlanExecutionLockService
Locking manager for PlanExecutionManager
  • Method Details

    • runWhenNoExecutionRequestsAreBeingMade

      <V> V runWhenNoExecutionRequestsAreBeingMade(@NotNull @NotNull Callable<V> callable) throws Exception
      Executes the given Callable when there are no requests being made to execute plans
      Type Parameters:
      V - callable result type
      Parameters:
      callable - to execute
      Returns:
      callable result
      Throws:
      Exception - if error
    • isLocked

      boolean isLocked(@NotNull @NotNull TriggerableInternalKey lockKey)
      Checks if the given String has been locked
      Parameters:
      lockKey - to check
      Returns:
      locked state
    • lock

      <V> V lock(@NotNull @NotNull TriggerableInternalKey lockKey, @NotNull @NotNull AcquisitionPolicy acquisitionPolicy, @NotNull @NotNull Callable<V> callable) throws Exception
      Acquires a lock on the given TriggerableInternalKey then calls the given Callable within the global request lock
      Type Parameters:
      V - callable result type
      Parameters:
      lockKey - to lock
      acquisitionPolicy - to acquire the lock
      callable - to execute
      Returns:
      callable result
      Throws:
      Exception - if error
    • inlineProcessLocks

      <V> V inlineProcessLocks(@NotNull @NotNull TriggerableInternalKey lockKey, @NotNull @NotNull AcquisitionPolicy acquisitionPolicy, @NotNull @NotNull Callable<V> callable) throws Exception
      A parallel locking mechanism that allows a backdoor to the standard lock. This should only be used for short lived locking (whereas the standard lock might be used for change detection). This is by convention only, so take care. This lock will participate in isLocked(TriggerableInternalKey) and interruptLockOwner(TriggerableInternalKey)
      Type Parameters:
      V -
      Parameters:
      lockKey -
      acquisitionPolicy -
      callable -
      Returns:
      Throws:
      Exception
    • interruptLockOwner

      void interruptLockOwner(@NotNull @NotNull TriggerableInternalKey lockKey)
      Interrupts the owner of the lock represented by TriggerableInternalKey
      Parameters:
      lockKey -
      Since:
      3.3.3