no.nextgentel.oss.akkatools

aggregate

package aggregate

Visibility
  1. Public
  2. All

Type Members

  1. trait AggregateCmd extends AnyRef

  2. class AggregateCmdMessageExtractor extends MessageExtractor

  3. class AggregateError extends RuntimeException

  4. trait AggregateState[E, T <: AggregateState[E, T]] extends AnyRef

  5. trait AggregateStateJava extends AggregateState[Any, AggregateStateJava]

  6. class DispatcherActor extends Actor with ActorLogging

  7. abstract class GeneralAggregate[E, S <: AggregateState[E, S]] extends EnhancedPersistentShardingActor[E, AggregateError]

    Dispatcher - When sending something to an ES, use its dispatcher Command - Dispatchable message - When sent to the dispatcher, it will be sent to the correct ES.

    Dispatcher - When sending something to an ES, use its dispatcher Command - Dispatchable message - When sent to the dispatcher, it will be sent to the correct ES.

    Event - Represents a change of state for an ES

    State is immutable. Represents the full state of the entity. based on its state it can accept or reject an event. Has with method transition(event) - if ok, it returns new state. If not, an error is thrown.

    Can be used to try an event (since it is mutable)

    DurableMessage: method of sending a message which with retry-mechanism until confirm() is called.

    GeneralAggregate pseudocode:

    for each received cmd: convert it to event try the event (by calling state.transition() ) if it failed: maybe do something if it works: persist event generate and send DurableMessages change our current state (by calling state.transition() and keeping the result )

  8. class GeneralAggregateBuilder[E, S <: AggregateState[E, S]] extends AnyRef

  9. abstract class GeneralAggregateJava extends GeneralAggregate[Any, AggregateStateJava]

  10. class GeneralAggregateView[E, S <: AggregateState[E, S]] extends EnhancedPersistentView[E, S]

  11. case class ResultingDurableMessages(list: List[SendAsDurableMessage]) extends Product with Serializable

  12. case class ResultingEvent[+E](events: List[E], errorHandler: (String) ⇒ Unit = null, successHandler: () ⇒ Unit = null) extends Product with Serializable

Value Members

  1. object GeneralAggregateBuilder

  2. object ResultingDurableMessages extends Serializable

  3. object ResultingEvent extends Serializable

Ungrouped