org.springframework.transaction.support

Class ResourceHolderSupport

  • java.lang.Object
    • org.springframework.transaction.support.ResourceHolderSupport
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void clear()
      Clear the transactional state of this resource holder.
      java.util.Date getDeadline()
      Return the expiration deadline of this object.
      long getTimeToLiveInMillis()
      Return the time to live for this object in milliseconds.
      int getTimeToLiveInSeconds()
      Return the time to live for this object in seconds.
      boolean hasTimeout()
      Return whether this object has an associated timeout.
      boolean isOpen()
      Return whether there are still open references to this holder.
      boolean isRollbackOnly()
      Return whether the resource transaction is marked as rollback-only.
      boolean isSynchronizedWithTransaction()
      Return whether the resource is synchronized with a transaction.
      boolean isVoid()
      Determine whether this holder is considered as 'void', i.e.
      void released()
      Decrease the reference count by one because the holder has been released (i.e.
      void requested()
      Increase the reference count by one because the holder has been requested (i.e.
      void reset()
      Reset this resource holder - transactional state as well as reference count.
      void resetRollbackOnly()
      Reset the rollback-only status for this resource transaction.
      void setRollbackOnly()
      Mark the resource transaction as rollback-only.
      void setSynchronizedWithTransaction(boolean synchronizedWithTransaction)
      Mark the resource as synchronized with a transaction.
      void setTimeoutInMillis(long millis)
      Set the timeout for this object in milliseconds.
      void setTimeoutInSeconds(int seconds)
      Set the timeout for this object in seconds.
      void unbound()
      Notify this holder that it has been unbound from transaction synchronization.
      • Methods inherited from class java.lang.Object

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

      • ResourceHolderSupport

        public ResourceHolderSupport()
    • Method Detail

      • setSynchronizedWithTransaction

        public void setSynchronizedWithTransaction(boolean synchronizedWithTransaction)
        Mark the resource as synchronized with a transaction.
      • isSynchronizedWithTransaction

        public boolean isSynchronizedWithTransaction()
        Return whether the resource is synchronized with a transaction.
      • setRollbackOnly

        public void setRollbackOnly()
        Mark the resource transaction as rollback-only.
      • resetRollbackOnly

        public void resetRollbackOnly()
        Reset the rollback-only status for this resource transaction.

        Only really intended to be called after custom rollback steps which keep the original resource in action, e.g. in case of a savepoint.

        Since:
        5.0
        See Also:
        SavepointManager.rollbackToSavepoint(java.lang.Object)
      • isRollbackOnly

        public boolean isRollbackOnly()
        Return whether the resource transaction is marked as rollback-only.
      • setTimeoutInSeconds

        public void setTimeoutInSeconds(int seconds)
        Set the timeout for this object in seconds.
        Parameters:
        seconds - number of seconds until expiration
      • setTimeoutInMillis

        public void setTimeoutInMillis(long millis)
        Set the timeout for this object in milliseconds.
        Parameters:
        millis - number of milliseconds until expiration
      • hasTimeout

        public boolean hasTimeout()
        Return whether this object has an associated timeout.
      • getDeadline

        @Nullable
        public java.util.Date getDeadline()
        Return the expiration deadline of this object.
        Returns:
        the deadline as Date object
      • getTimeToLiveInSeconds

        public int getTimeToLiveInSeconds()
        Return the time to live for this object in seconds. Rounds up eagerly, e.g. 9.00001 still to 10.
        Returns:
        number of seconds until expiration
        Throws:
        TransactionTimedOutException - if the deadline has already been reached
      • getTimeToLiveInMillis

        public long getTimeToLiveInMillis()
                                   throws TransactionTimedOutException
        Return the time to live for this object in milliseconds.
        Returns:
        number of millseconds until expiration
        Throws:
        TransactionTimedOutException - if the deadline has already been reached
      • requested

        public void requested()
        Increase the reference count by one because the holder has been requested (i.e. someone requested the resource held by it).
      • released

        public void released()
        Decrease the reference count by one because the holder has been released (i.e. someone released the resource held by it).
      • isOpen

        public boolean isOpen()
        Return whether there are still open references to this holder.
      • clear

        public void clear()
        Clear the transactional state of this resource holder.
      • reset

        public void reset()
        Reset this resource holder - transactional state as well as reference count.
        Specified by:
        reset in interface ResourceHolder
      • unbound

        public void unbound()
        Description copied from interface: ResourceHolder
        Notify this holder that it has been unbound from transaction synchronization.
        Specified by:
        unbound in interface ResourceHolder
      • isVoid

        public boolean isVoid()
        Description copied from interface: ResourceHolder
        Determine whether this holder is considered as 'void', i.e. as a leftover from a previous thread.
        Specified by:
        isVoid in interface ResourceHolder