Class OutboxLockRepository

java.lang.Object
one.tomorrow.transactionaloutbox.repository.OutboxLockRepository

@Repository
public class OutboxLockRepository
extends java.lang.Object
  • Constructor Summary

    Constructors 
    Constructor Description
    OutboxLockRepository​(OutboxSessionFactory sessionFactory)  
  • Method Summary

    Modifier and Type Method Description
    boolean acquireOrRefreshLock​(java.lang.String ownerId, java.time.Duration timeout)  
    boolean preventLockStealing​(java.lang.String ownerId)
    Locks the outbox lock row for the given owner if it exists.
    void releaseLock​(java.lang.String ownerId)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • acquireOrRefreshLock

      public boolean acquireOrRefreshLock​(java.lang.String ownerId, java.time.Duration timeout)
    • preventLockStealing

      public boolean preventLockStealing​(java.lang.String ownerId)
      Locks the outbox lock row for the given owner if it exists. Must be executed inside some outer transaction.
      Returns:
      true if the lock could be acquired, otherwise false.
    • releaseLock

      @Transactional public void releaseLock​(java.lang.String ownerId)