Package

no.nextgentel.oss.akkatools

aggregate

Permalink

package aggregate

Visibility
  1. Public
  2. All

Type Members

  1. trait AggregateCmd extends AnyRef

    Permalink
  2. class AggregateCmdMessageExtractor extends HashCodeMessageExtractor

    Permalink
  3. class AggregateError extends RuntimeException

    Permalink
  4. abstract class AggregateStarter extends AggregateStarterLike

    Permalink
  5. trait AggregateStarterLike extends AnyRef

    Permalink
  6. class AggregateStarterSimple extends AggregateStarter

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

    Permalink
  8. trait AggregateStateJava extends AggregateState[Any, AggregateStateJava]

    Permalink
  9. trait AggregateViewAsker extends AnyRef

    Permalink
  10. trait AggregateViewStarter extends AggregateViewAsker

    Permalink
  11. class DispatcherActor extends Actor with ActorLogging

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

    Permalink

    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 )

  13. abstract class GeneralAggregateJava[S] extends GeneralAggregate[Any, AggregateStateJava]

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

    Permalink
  15. class GeneralAggregateViewJava extends GeneralAggregateView[Any, AggregateStateJava]

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

    Permalink
  17. case class ResultingEvent[+E](events: List[E], errorHandler: (String) ⇒ Unit, successHandler: () ⇒ Unit, afterValidationSuccessHandler: () ⇒ Unit) extends Product with Serializable

    Permalink
  18. case class ResultingEventJava(events: List[Any], successHandler: Runnable, afterValidationSuccessHandler: Runnable, errorHandler: Consumer[String]) extends Product with Serializable

    Permalink
  19. abstract class GeneralAggregateBuilder[E, S <: AggregateState[E, S]] extends AnyRef

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.0.3)

  20. class GeneralAggregateBuilderJava extends GeneralAggregateBuilder[Any, AggregateStateJava]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.0.3) Use AggregateStarter and AggregateViewStarter with GeneralAggregateViewJava instead

Value Members

  1. object AggregateStarter

    Permalink
  2. object AggregateStarterSimple

    Permalink
  3. object ResultingDurableMessages extends Serializable

    Permalink
  4. object ResultingEvent extends Serializable

    Permalink
  5. object ResultingEventJava extends Serializable

    Permalink

Ungrouped