A lock can have transaction duration or session duration.
A transaction duration lock will be unlocked when a transaction ends (that is, it is committed or rolled back). The lock will not be unlocked at the end of a transaction if it has session duration.
Locks with session duration remain in place until unlocked explicitly, or when the JADE session becomes inactive, which typically happens when its JADE context is disposed of. An explicit unlock request will unlock an object regardless of the duration, unless the JADE session currently has a transaction in effect, in which case the unlock request is ignored.
Explicit locks specify the lock duration. Implicitly acquired locks have transaction duration.