Trait/Object

pt.tecnico.dsi.akkastrator

Orchestrator

Related Docs: object Orchestrator | package akkastrator

Permalink

trait Orchestrator extends PersistentActor with ActorLogging with AtLeastOnceDelivery

An Orchestrator executes a set of, possibly dependent, Tasks. A task corresponds to sending a message to an actor, handling its response and possibly mutate the internal state of the Orchestrator.

The Orchestrator together with the Task is able to:

NOTE: the responses that are received must be Serializable.

In order for the Orchestrator and the Tasks to be able to achieve all of this they have to access and/or modify each others state directly. This means they are very tightly coupled with each other.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Orchestrator
  2. AtLeastOnceDelivery
  3. AtLeastOnceDeliveryLike
  4. ActorLogging
  5. PersistentActor
  6. Eventsourced
  7. PersistenceRecovery
  8. PersistenceIdentity
  9. PersistenceStash
  10. StashFactory
  11. Stash
  12. RequiresMessageQueue
  13. UnrestrictedStash
  14. StashSupport
  15. Snapshotter
  16. Actor
  17. AnyRef
  18. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Receive = PartialFunction[Any, Unit]

    Permalink
    Definition Classes
    Actor

Abstract Value Members

  1. abstract val saveSnapshotInterval: FiniteDuration

    Permalink

    The interval at which snapshots will be saved.

    The interval at which snapshots will be saved. Use Duration.Zero to disable snapshots.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def aroundPostRestart(reason: Throwable): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Eventsourced → Actor
  5. def aroundPostStop(): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    AtLeastOnceDeliveryLike → Eventsourced → Actor
  6. def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    AtLeastOnceDeliveryLike → Eventsourced → Actor
  7. def aroundPreStart(): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Eventsourced → Actor
  8. def aroundReceive(receive: Receive, message: Any): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    AtLeastOnceDeliveryLike → Eventsourced → Actor
  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def confirmDelivery(deliveryId: Long): Boolean

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  12. implicit val context: ActorContext

    Permalink
    Definition Classes
    Actor
  13. def deferAsync[A](event: A)(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
  14. def deleteMessages(toSequenceNr: Long): Unit

    Permalink
    Definition Classes
    Eventsourced
  15. def deleteSnapshot(sequenceNr: Long): Unit

    Permalink
    Definition Classes
    Snapshotter
  16. def deleteSnapshots(criteria: SnapshotSelectionCriteria): Unit

    Permalink
    Definition Classes
    Snapshotter
  17. def deliver(destination: ActorSelection)(deliveryIdToMessage: (Long) ⇒ Any): Unit

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  18. def deliver(destination: ActorPath)(deliveryIdToMessage: (Long) ⇒ Any): Unit

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  19. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. def equals(arg0: Any): Boolean

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  22. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  23. def getDeliverySnapshot: AtLeastOnceDeliverySnapshot

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  24. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  25. def internalStashOverflowStrategy: StashOverflowStrategy

    Permalink
    Definition Classes
    PersistenceStash
  26. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  27. def journalPluginId: String

    Permalink
    Definition Classes
    PersistenceIdentity
  28. def lastSequenceNr: Long

    Permalink
    Definition Classes
    Eventsourced
  29. def loadSnapshot(persistenceId: String, criteria: SnapshotSelectionCriteria, toSequenceNr: Long): Unit

    Permalink
    Definition Classes
    Snapshotter
  30. def log: LoggingAdapter

    Permalink
    Definition Classes
    ActorLogging
  31. def maxUnconfirmedMessages: Int

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  32. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  33. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  34. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  35. def numberOfUnconfirmed: Int

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  36. def onFinish(): Unit

    Permalink

    This method is invoked once every task finishes.

    This method is invoked once every task finishes. The default implementation just stops the orchestrator.

    You can use this to implement your termination strategy.

  37. def onPersistFailure(cause: Throwable, event: Any, seqNr: Long): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Eventsourced
  38. def onPersistRejected(cause: Throwable, event: Any, seqNr: Long): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Eventsourced
  39. def onRecoveryFailure(cause: Throwable, event: Option[Any]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Eventsourced
  40. implicit val orchestrator: Orchestrator

    Permalink
  41. def persist[A](event: A)(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
  42. def persistAll[A](events: Seq[A])(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
  43. def persistAllAsync[A](events: Seq[A])(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
  44. def persistAsync[A](event: A)(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
  45. val persistenceId: String

    Permalink

    The persistenceId used by the akka-persistence module.

    The persistenceId used by the akka-persistence module. The default value is this class simple name.

    Definition Classes
    Orchestrator → PersistenceIdentity
  46. def postRestart(reason: Throwable): Unit

    Permalink
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  47. def postStop(): Unit

    Permalink
    Definition Classes
    UnrestrictedStash → Actor
  48. def preRestart(reason: Throwable, message: Option[Any]): Unit

    Permalink
    Definition Classes
    UnrestrictedStash → Actor
  49. def preStart(): Unit

    Permalink
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  50. def receive: Receive

    Permalink
    Definition Classes
    PersistentActor → Actor
  51. final def receiveCommand: Receive

    Permalink
    Definition Classes
    Orchestrator → Eventsourced
  52. final def receiveRecover: Receive

    Permalink
    Definition Classes
    Orchestrator → Eventsourced
  53. def recovery: Recovery

    Permalink
    Definition Classes
    PersistenceRecovery
  54. def recoveryFinished: Boolean

    Permalink
    Definition Classes
    Eventsourced
  55. def recoveryRunning: Boolean

    Permalink
    Definition Classes
    Eventsourced
  56. def redeliverInterval: FiniteDuration

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  57. def redeliveryBurstLimit: Int

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  58. def saveSnapshot(snapshot: Any): Unit

    Permalink
    Definition Classes
    Snapshotter
  59. implicit final val self: ActorRef

    Permalink
    Definition Classes
    Actor
  60. final def sender(): ActorRef

    Permalink
    Definition Classes
    Actor
  61. def setDeliverySnapshot(snapshot: AtLeastOnceDeliverySnapshot): Unit

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike
  62. def snapshotPluginId: String

    Permalink
    Definition Classes
    PersistenceIdentity
  63. def snapshotSequenceNr: Long

    Permalink
    Definition Classes
    Eventsourced → Snapshotter
  64. def snapshotterId: String

    Permalink
    Definition Classes
    Eventsourced → Snapshotter
  65. def stash(): Unit

    Permalink
    Definition Classes
    StashSupport
  66. def state[S <: State]: S

    Permalink
  67. def state_=[S <: State](state: S): Unit

    Permalink
  68. def supervisorStrategy: SupervisorStrategy

    Permalink
    Definition Classes
    Actor
  69. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  70. def tasks: IndexedSeq[Task]

    Permalink
  71. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  72. def unhandled(message: Any): Unit

    Permalink
    Definition Classes
    Eventsourced → Actor
  73. def unstashAll(): Unit

    Permalink
    Definition Classes
    Eventsourced → StashSupport
  74. def updateCurrentBehavior(): Unit

    Permalink

    returns

    the behaviors of the tasks which are waiting plus orchestratorReceive.

    Attributes
    protected[pt.tecnico.dsi.akkastrator]
  75. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  78. def warnAfterNumberOfUnconfirmedAttempts: Int

    Permalink
    Definition Classes
    AtLeastOnceDeliveryLike

Deprecated Value Members

  1. def persist[A](events: Seq[A])(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
    Annotations
    @deprecated
    Deprecated

    (Since version 2.4) use persistAll instead

  2. def persistAsync[A](events: Seq[A])(handler: (A) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Eventsourced
    Annotations
    @deprecated
    Deprecated

    (Since version 2.4) use persistAllAsync instead

Inherited from AtLeastOnceDelivery

Inherited from AtLeastOnceDeliveryLike

Inherited from ActorLogging

Inherited from PersistentActor

Inherited from Eventsourced

Inherited from PersistenceRecovery

Inherited from PersistenceIdentity

Inherited from PersistenceStash

Inherited from StashFactory

Inherited from Stash

Inherited from UnrestrictedStash

Inherited from StashSupport

Inherited from Snapshotter

Inherited from Actor

Inherited from AnyRef

Inherited from Any

Ungrouped