public class

PassthroughUnitLock

extends Object
implements IUnitLock
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.units.PassthroughUnitLock

Class Overview

Singleton, immutable unit lock implementation that locks nothing.

Summary

Public Methods
ACLock a(long blockTimeoutMs)
Attempt to acquire an auto-closable wrapper on this unit lock.
ACLock a()
Attempt to acquire an auto-closable wrapper on this unit lock.
long getDefaultBlockTimeoutMs()
Get the default wait time lock acquisition will block before throwing a UnitLockedException.
static PassthroughUnitLock getInstance()
boolean isLocked()
Determine if the lock is held by _any_ thread.
boolean isLockedByCurrentThread()
Determine if the lock is held by _this_ thread.
void verifyLocked()
Verify that the lock is help by this thread, and raise an exception if not.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.pnfsoftware.jeb.core.units.IUnitLock

Public Methods

public ACLock a (long blockTimeoutMs)

Attempt to acquire an auto-closable wrapper on this unit lock. If the lock cannot be acquired within the provided time frame, the method will throw a UnitLockedException (see getDefaultBlockTimeoutMs()).

Best-practice: This method must be called in a try-with-resources.

public ACLock a ()

Attempt to acquire an auto-closable wrapper on this unit lock. If the lock cannot be acquired within the time frame defined by getDefaultBlockTimeoutMs(), it will throw a UnitLockedException (see getDefaultBlockTimeoutMs()).

Best-practice: This method must be called in a try-with-resources.

public long getDefaultBlockTimeoutMs ()

Get the default wait time lock acquisition will block before throwing a UnitLockedException.

Returns
  • the allowed max blocking time; 0 means never fail (ie, fail if the lock is held by another thread); <0 means wait indefinitely

public static PassthroughUnitLock getInstance ()

public boolean isLocked ()

Determine if the lock is held by _any_ thread. Purely indicative, do not use for synchronization.

public boolean isLockedByCurrentThread ()

Determine if the lock is held by _this_ thread. Purely indicative, do not use for synchronization.

public void verifyLocked ()

Verify that the lock is help by this thread, and raise an exception if not.