Package com.atlassian.bamboo.plan
Interface PlanExecutionLockService
- All Known Implementing Classes:
PlanExecutionLockServiceImpl
@Internal
public interface PlanExecutionLockService
Locking manager for
PlanExecutionManager
-
Method Summary
Modifier and TypeMethodDescription<V> V
inlineProcessLocks
(@NotNull TriggerableInternalKey lockKey, @NotNull AcquisitionPolicy acquisitionPolicy, @NotNull Callable<V> callable) A parallel locking mechanism that allows a backdoor to the standard lock.void
interruptLockOwner
(@NotNull TriggerableInternalKey lockKey) Interrupts the owner of the lock represented byTriggerableInternalKey
boolean
isLocked
(@NotNull TriggerableInternalKey lockKey) Checks if the givenString
has been locked<V> V
lock
(@NotNull TriggerableInternalKey lockKey, @NotNull AcquisitionPolicy acquisitionPolicy, @NotNull Callable<V> callable) Acquires a lock on the givenTriggerableInternalKey
then calls the givenCallable
within the global request lock<V> V
runWhenNoExecutionRequestsAreBeingMade
(@NotNull Callable<V> callable) Executes the givenCallable
when there are no requests being made to execute plans
-
Method Details
-
runWhenNoExecutionRequestsAreBeingMade
<V> V runWhenNoExecutionRequestsAreBeingMade(@NotNull @NotNull Callable<V> callable) throws Exception Executes the givenCallable
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
Checks if the givenString
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 givenTriggerableInternalKey
then calls the givenCallable
within the global request lock- Type Parameters:
V
- callable result type- Parameters:
lockKey
- to lockacquisitionPolicy
- to acquire the lockcallable
- 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 inisLocked(TriggerableInternalKey)
andinterruptLockOwner(TriggerableInternalKey)
- Type Parameters:
V
-- Parameters:
lockKey
-acquisitionPolicy
-callable
-- Returns:
- Throws:
Exception
-
interruptLockOwner
Interrupts the owner of the lock represented byTriggerableInternalKey
- Parameters:
lockKey
-- Since:
- 3.3.3
-