akka.stm

StmUtil

trait StmUtil extends AnyRef

Stm utility methods for scheduling transaction lifecycle tasks and for blocking transactions. Automatically imported with:

import akka.stm._


Schedule a deferred task on the thread local transaction (use within an atomic). This is executed when the transaction commits.

atomic {
  deferred {
    // executes when transaction successfully commits
  }
}


Schedule a compensating task on the thread local transaction (use within an atomic). This is executed when the transaction aborts.

atomic {
  compensating {
    // executes when transaction aborts
  }
}


STM retry for blocking transactions (use within an atomic). Can be used to wait for a condition.

atomic {
  if (!someCondition) retry
  // ...
}


Use either-orElse to combine two blocking transactions.

atomic {
  either {
    // ...
  } orElse {
    // ...
  }
}


Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. StmUtil
  2. AnyRef
  3. Any
Visibility
  1. Public
  2. All

Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  7. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  8. def compensating [T] (body: ⇒ T): Unit

    Schedule a compensating task on the thread local transaction (use within an atomic).

    Schedule a compensating task on the thread local transaction (use within an atomic). This is executed when the transaction aborts.

  9. def deferred [T] (body: ⇒ T): Unit

    Schedule a deferred task on the thread local transaction (use within an atomic).

    Schedule a deferred task on the thread local transaction (use within an atomic). This is executed when the transaction commits.

  10. def either [T] (firstBody: ⇒ T): AnyRef { def orElse(secondBody: => T): T }

    Use either-orElse to combine two blocking transactions.

  11. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  12. def equals (arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  13. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  14. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef → Any
  15. def hashCode (): Int

    Definition Classes
    AnyRef → Any
  16. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  17. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  18. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  19. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  20. def retry (): Unit

    STM retry for blocking transactions (use within an atomic).

    STM retry for blocking transactions (use within an atomic). Can be used to wait for a condition.

  21. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  22. def toString (): String

    Definition Classes
    AnyRef → Any
  23. def wait (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  24. def wait (arg0: Long, arg1: Int): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  25. def wait (arg0: Long): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any