abstract class Orchestrator[R] extends AbstractOrchestrator[R]

In a simple orchestrator the same sequence number (of akka-persistence) is used for all the destinations of the orchestrator. Because of this, ID = DeliveryId, and matchId only checks the deliveryId as that will be enough information to disambiguate which task should handle the response.

Source
Orchestrator.scala
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Orchestrator
  2. AbstractOrchestrator
  3. IdImplicits
  4. ActorLogging
  5. AtLeastOnceDelivery
  6. AtLeastOnceDeliveryLike
  7. PersistentActor
  8. Eventsourced
  9. PersistenceRecovery
  10. PersistenceIdentity
  11. PersistenceStash
  12. StashFactory
  13. Stash
  14. RequiresMessageQueue
  15. UnrestrictedStash
  16. StashSupport
  17. Snapshotter
  18. Actor
  19. AnyRef
  20. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Orchestrator(settings: Settings = new Settings())

Type Members

  1. final type ID = DeliveryId

    The type of Id this orchestrator handles.

    The type of Id this orchestrator handles.

    Definition Classes
    OrchestratorAbstractOrchestrator
  2. type Receive = PartialFunction[Any, Unit]
    Definition Classes
    Actor

Abstract Value Members

  1. abstract def persistenceId: String
    Definition Classes
    PersistenceIdentity

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from Orchestrator[R] to any2stringadd[Orchestrator[R]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Orchestrator[R], B)
    Implicit
    This member is added by an implicit conversion from Orchestrator[R] to ArrowAssoc[Orchestrator[R]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final var _waitingTasks: HashMap[Int, Task[_]]

    We use a HashMap to ensure remove/insert operations are very fast O(eC).

    We use a HashMap to ensure remove/insert operations are very fast O(eC). The keys are the task indexes.

    Attributes
    protected[this]
    Definition Classes
    AbstractOrchestrator
  7. final def alwaysAvailableCommands: akka.actor.Actor.Receive
    Definition Classes
    AbstractOrchestrator
  8. def aroundPostRestart(reason: Throwable): Unit
    Attributes
    protected[akka]
    Definition Classes
    Eventsourced → Actor
  9. def aroundPostStop(): Unit
    Attributes
    protected[akka]
    Definition Classes
    AtLeastOnceDeliveryLike → Eventsourced → Actor
  10. def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
    Attributes
    protected[akka]
    Definition Classes
    AtLeastOnceDeliveryLike → Eventsourced → Actor
  11. def aroundPreStart(): Unit
    Attributes
    protected[akka]
    Definition Classes
    Eventsourced → Actor
  12. def aroundReceive(receive: Receive, message: Any): Unit
    Attributes
    protected[akka]
    Definition Classes
    AtLeastOnceDeliveryLike → Eventsourced → Actor
  13. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  14. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  15. final def computeCurrentBehavior(): Receive
    Definition Classes
    AbstractOrchestrator
  16. final def computeID(destination: ActorPath, deliveryId: DeliveryId): DeliveryId

    Computes ID from the deliveryId of akka-persistence.

    Computes ID from the deliveryId of akka-persistence.

    Definition Classes
    OrchestratorAbstractOrchestrator
  17. def confirmDelivery(deliveryId: Long): Boolean
    Definition Classes
    AtLeastOnceDeliveryLike
  18. implicit val context: ActorContext
    Definition Classes
    Actor
  19. def defer[A](event: A)(handler: (A) ⇒ Unit): Unit
    Definition Classes
    PersistentActor
  20. def deferAsync[A](event: A)(handler: (A) ⇒ Unit): Unit
    Definition Classes
    PersistentActor
  21. def deleteMessages(toSequenceNr: Long): Unit
    Definition Classes
    Eventsourced
  22. def deleteSnapshot(sequenceNr: Long): Unit
    Definition Classes
    Snapshotter
  23. def deleteSnapshots(criteria: SnapshotSelectionCriteria): Unit
    Definition Classes
    Snapshotter
  24. def deliver(destination: ActorSelection)(deliveryIdToMessage: (Long) ⇒ Any): Unit
    Definition Classes
    AtLeastOnceDelivery
  25. def deliver(destination: ActorPath)(deliveryIdToMessage: (Long) ⇒ Any): Unit
    Definition Classes
    AtLeastOnceDelivery
  26. final def deliveryIdOf(destination: ActorPath, id: ID): DeliveryId

    Converts ID to the deliveryId needed for the confirmDelivery method of akka-persistence.

    Converts ID to the deliveryId needed for the confirmDelivery method of akka-persistence.

    Definition Classes
    OrchestratorAbstractOrchestrator
  27. def ensuring(cond: (Orchestrator[R]) ⇒ Boolean, msg: ⇒ Any): Orchestrator[R]
    Implicit
    This member is added by an implicit conversion from Orchestrator[R] to Ensuring[Orchestrator[R]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  28. def ensuring(cond: (Orchestrator[R]) ⇒ Boolean): Orchestrator[R]
    Implicit
    This member is added by an implicit conversion from Orchestrator[R] to Ensuring[Orchestrator[R]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  29. def ensuring(cond: Boolean, msg: ⇒ Any): Orchestrator[R]
    Implicit
    This member is added by an implicit conversion from Orchestrator[R] to Ensuring[Orchestrator[R]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  30. def ensuring(cond: Boolean): Orchestrator[R]
    Implicit
    This member is added by an implicit conversion from Orchestrator[R] to Ensuring[Orchestrator[R]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  31. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  33. def extraCommands: akka.actor.Actor.Receive

    Override this method to add extra commands that are always handled by this orchestrator (except when recovering).

    Override this method to add extra commands that are always handled by this orchestrator (except when recovering).

    Definition Classes
    AbstractOrchestrator
  34. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  35. final def finishedTasks: Int

    How many tasks of this orchestrator have successfully finished.

    How many tasks of this orchestrator have successfully finished. Aborted tasks do not count as a finished task.

    Definition Classes
    AbstractOrchestrator
  36. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Orchestrator[R] to StringFormat[Orchestrator[R]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  37. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  38. def getDeliverySnapshot: AtLeastOnceDeliverySnapshot
    Definition Classes
    AtLeastOnceDeliveryLike
  39. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  40. def internalStashOverflowStrategy: StashOverflowStrategy
    Definition Classes
    PersistenceStash
  41. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  42. def journalPluginId: String
    Definition Classes
    PersistenceIdentity
  43. def lastSequenceNr: Long
    Definition Classes
    Eventsourced
  44. def loadSnapshot(persistenceId: String, criteria: SnapshotSelectionCriteria, toSequenceNr: Long): Unit
    Definition Classes
    Snapshotter
  45. def log: LoggingAdapter
    Definition Classes
    ActorLogging
  46. final def matchId(task: Task[_], id: Long): Boolean

    Ensures the received message was in fact destined to be received by task.

    Ensures the received message was in fact destined to be received by task.

    Definition Classes
    OrchestratorAbstractOrchestrator
  47. def maxUnconfirmedMessages: Int
    Definition Classes
    AtLeastOnceDeliveryLike
  48. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  49. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  50. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  51. def numberOfUnconfirmed: Int
    Definition Classes
    AtLeastOnceDeliveryLike
  52. def onAbort(failure: Failure): Unit

    User overridable callback.

    User overridable callback. Its called when the orchestrator is aborted. By default an orchestrator aborts as soon as a task aborts. However this functionality can be changed by overriding onTaskAbort.

    By default logs that the orchestrator has aborted, sends a message to its parent explaining why the orchestrator aborted then stops it.

    You can use this to implement your termination strategy.

    Definition Classes
    AbstractOrchestrator
  53. def onFinish(): Unit

    User overridable callback.

    User overridable callback. Its called after every task finishes. If a task aborts then it will prevent this method from being invoked.

    By default logs that the Orchestrator has finished then stops it.

    You can use this to implement your termination strategy.

    If a orchestrator starts without tasks it will finish right away.

    Definition Classes
    AbstractOrchestrator
  54. def onPersistFailure(cause: Throwable, event: Any, seqNr: Long): Unit
    Attributes
    protected
    Definition Classes
    Eventsourced
  55. def onPersistRejected(cause: Throwable, event: Any, seqNr: Long): Unit
    Attributes
    protected
    Definition Classes
    Eventsourced
  56. def onRecoveryFailure(cause: Throwable, event: Option[Any]): Unit
    Attributes
    protected
    Definition Classes
    Eventsourced
  57. def onStart(startId: Long): Unit

    User overridable callback.

    User overridable callback. Its called after the orchestrator starts but before any of the tasks start.

    By default logs that the Orchestrator has started.

    Definition Classes
    AbstractOrchestrator
  58. def onTaskAbort(task: FullTask[_, _], cause: Throwable): Unit

    User overridable callback.

    User overridable callback. Its called every time a task aborts.

    You can use this to implement very refined termination strategies.

    By default aborts the orchestrator via onAbort with a TaskAborted failure.

    Note: if you invoke become/unbecome inside this method, the contract that states "Waiting tasks or tasks which do not have this task as a dependency will remain untouched" will no longer be guaranteed. If you wish to still have this guarantee you can do

    context.become(computeCurrentBehavior() orElse yourBehavior)

    { @see onTaskStart} for a callback when a task starts. { @see onTaskFinish } for a callback when a task finishes.

    task

    the task that aborted.

    Definition Classes
    AbstractOrchestrator
  59. def onTaskFinish(task: FullTask[_, _]): Unit

    User overridable callback.

    User overridable callback. Its called every time a task finishes.

    You can use this to implement very refined termination strategies.

    By default just logs the task has finished.

    { @see onTaskStart} for a callback when a task starts. { @see onTaskAbort} for a callback when a task aborts.

    Definition Classes
    AbstractOrchestrator
  60. def onTaskStart(task: FullTask[_, _], innerTask: Task[_]): Unit

    User overridable callback.

    User overridable callback. Its called every time a task starts.

    By default just logs the task as started.

    { @see onTaskFinish} for a callback when a task finishes. { @see onTaskAbort} for a callback when a task aborts.

    Definition Classes
    AbstractOrchestrator
  61. implicit final val orchestrator: AbstractOrchestrator[_]

    This exists to make the creation of FullTasks easier.

    This exists to make the creation of FullTasks easier.

    Definition Classes
    AbstractOrchestrator
  62. def persist[A](event: A)(handler: (A) ⇒ Unit): Unit
    Definition Classes
    PersistentActor
  63. def persistAll[A](events: Seq[A])(handler: (A) ⇒ Unit): Unit
    Definition Classes
    PersistentActor
  64. def persistAllAsync[A](events: Seq[A])(handler: (A) ⇒ Unit): Unit
    Definition Classes
    PersistentActor
  65. def persistAsync[A](event: A)(handler: (A) ⇒ Unit): Unit
    Definition Classes
    PersistentActor
  66. def postRestart(reason: Throwable): Unit
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  67. def postStop(): Unit
    Definition Classes
    UnrestrictedStash → Actor
  68. def preRestart(reason: Throwable, message: Option[Any]): Unit
    Definition Classes
    UnrestrictedStash → Actor
  69. def preStart(): Unit
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  70. def receive: Receive
    Definition Classes
    PersistentActor → Actor
  71. final def receiveCommand: akka.actor.Actor.Receive
    Definition Classes
    AbstractOrchestrator → Eventsourced
  72. def receiveRecover: akka.actor.Actor.Receive
    Definition Classes
    AbstractOrchestrator → Eventsourced
  73. def recovery: Recovery
    Definition Classes
    PersistenceRecovery
  74. final def recoveryAwarePersist(event: Any)(handler: ⇒ Unit): Unit
    Definition Classes
    AbstractOrchestrator
  75. def recoveryFinished: Boolean
    Definition Classes
    Eventsourced
  76. def recoveryRunning: Boolean
    Definition Classes
    Eventsourced
  77. def redeliverInterval: FiniteDuration
    Definition Classes
    AtLeastOnceDeliveryLike
  78. def redeliveryBurstLimit: Int
    Definition Classes
    AtLeastOnceDeliveryLike
  79. def saveSnapshot(snapshot: Any): Unit
    Definition Classes
    Snapshotter
  80. implicit final val self: ActorRef
    Definition Classes
    Actor
  81. final def sender(): ActorRef
    Definition Classes
    Actor
  82. def setDeliverySnapshot(snapshot: AtLeastOnceDeliverySnapshot): Unit
    Definition Classes
    AtLeastOnceDeliveryLike
  83. val settings: Settings
    Definition Classes
    AbstractOrchestrator
  84. def snapshotPluginId: String
    Definition Classes
    PersistenceIdentity
  85. def snapshotSequenceNr: Long
    Definition Classes
    Eventsourced → Snapshotter
  86. def snapshotterId: String
    Definition Classes
    Eventsourced → Snapshotter
  87. final def startId: Long
    Definition Classes
    AbstractOrchestrator
  88. def stash(): Unit
    Definition Classes
    Eventsourced → StashSupport
  89. def supervisorStrategy: SupervisorStrategy
    Definition Classes
    Actor
  90. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  91. final def tasks: Seq[FullTask[_, _]]
    Definition Classes
    AbstractOrchestrator
  92. implicit def toCorrelationId(l: Long): CorrelationId
    Definition Classes
    IdImplicits
  93. implicit def toDeliveryId(l: Long): DeliveryId
    Definition Classes
    IdImplicits
  94. def toString(): String
    Definition Classes
    AnyRef → Any
  95. def unhandled(message: Any): Unit
    Definition Classes
    Eventsourced → Actor
  96. final def unstarted: akka.actor.Actor.Receive
    Definition Classes
    AbstractOrchestrator
  97. def unstashAll(): Unit
    Definition Classes
    Eventsourced → StashSupport
  98. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  99. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  100. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  101. final def waitingTasks: HashMap[Int, Task[_]]
    Definition Classes
    AbstractOrchestrator
  102. def warnAfterNumberOfUnconfirmedAttempts: Int
    Definition Classes
    AtLeastOnceDeliveryLike
  103. def withLogPrefix(message: ⇒ String): String
    Definition Classes
    AbstractOrchestrator
  104. def [B](y: B): (Orchestrator[R], B)
    Implicit
    This member is added by an implicit conversion from Orchestrator[R] to ArrowAssoc[Orchestrator[R]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from AbstractOrchestrator[R]

Inherited from IdImplicits

Inherited from ActorLogging

Inherited from AtLeastOnceDelivery

Inherited from AtLeastOnceDeliveryLike

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

Inherited by implicit conversion any2stringadd from Orchestrator[R] to any2stringadd[Orchestrator[R]]

Inherited by implicit conversion StringFormat from Orchestrator[R] to StringFormat[Orchestrator[R]]

Inherited by implicit conversion Ensuring from Orchestrator[R] to Ensuring[Orchestrator[R]]

Inherited by implicit conversion ArrowAssoc from Orchestrator[R] to ArrowAssoc[Orchestrator[R]]

Ungrouped