diff --git a/source/java/org/alfresco/repo/lock/JobLockService.java b/source/java/org/alfresco/repo/lock/JobLockService.java index 151f1362a1..bed6c43d9b 100644 --- a/source/java/org/alfresco/repo/lock/JobLockService.java +++ b/source/java/org/alfresco/repo/lock/JobLockService.java @@ -171,14 +171,27 @@ public interface JobLockService /** * Release the lock using a valid lock token. The lock can have expired or even been taken * by another processes (i.e. the lock token will no longer be valid); none of this will - * prevent the method from succeeding. + * prevent the method from succeeding. This operation is functionally the same as the newer + * {@link #releaseLockVerify(String, QName)} operation, other than it returns void. Retained + * for backwards-compatibility. + * + * @param lockToken the lock token returned when the lock was acquired + * @param lockQName the name of the previously-acquired lock + */ + void releaseLock(String lockToken, QName lockQName); + + /** + * Release the lock using a valid lock token. The lock can have expired or even been taken + * by another processes (i.e. the lock token will no longer be valid); none of this will + * prevent the method from succeeding. Functionally similar to {@link #releaseLock(String, QName)}, but + * this newer operation indicates whether a lock was actually released by its return value. * * @param lockToken the lock token returned when the lock was acquired * @param lockQName the name of the previously-acquired lock * @return true if the lock was valid and released otherwise * false if the lock was no longer valid in any case */ - boolean releaseLock(String lockToken, QName lockQName); + boolean releaseLockVerify(String lockToken, QName lockQName); /** * Interface for implementations that need a timed callback in order to refresh the lock. diff --git a/source/java/org/alfresco/repo/lock/JobLockServiceImpl.java b/source/java/org/alfresco/repo/lock/JobLockServiceImpl.java index 390a92b042..be94db3738 100644 --- a/source/java/org/alfresco/repo/lock/JobLockServiceImpl.java +++ b/source/java/org/alfresco/repo/lock/JobLockServiceImpl.java @@ -419,7 +419,15 @@ public class JobLockServiceImpl implements JobLockService /** * {@inheritDoc} */ - public boolean releaseLock(final String lockToken, final QName lockQName) + public void releaseLock(final String lockToken, final QName lockQName) + { + releaseLockVerify(lockToken, lockQName); + } + + /** + * {@inheritDoc} + */ + public boolean releaseLockVerify(final String lockToken, final QName lockQName) { RetryingTransactionCallback releaseCallback = new RetryingTransactionCallback() {