ProjectionManager class

Manages multiple projections using Akka Persistence-style streaming.

The ProjectionManager is responsible for:

  • Registering and managing projections
  • Subscribing projections to event streams
  • Coordinating projection catch-up and rebuild operations
  • Monitoring projection health and performance
  • Automatic checkpoint persistence (when Isar is provided)

This follows the Akka Persistence Query pattern where projections subscribe to event streams rather than receiving manually routed events.

Constructors

ProjectionManager(EventStream _eventStream, {Isar? isar, int checkpointBatchSize = 100})
Create a ProjectionManager with optional Isar for checkpoint persistence

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

getProjectionInfo(String projectionId) Future<ProjectionInfo?>
Get information about a specific projection
getProjectionInfos() List<ProjectionInfo>
Get information about all registered projections
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pauseProjection(String projectionId) Future<void>
Pause a projection (cancels its event stream subscription)
rebuildProjection(String projectionId) Future<void>
Rebuild a projection from scratch
registerProjection<TReadModel>(Projection<TReadModel> projection) Future<void>
Register a projection with the manager
resumeProjection(String projectionId) Future<void>
Resume a projection (resubscribes to event stream)
start() Future<void>
Start the projection manager and begin streaming events
stop() Future<void>
Stop the projection manager
toString() String
A string representation of this object.
inherited
unregisterProjection(String projectionId) Future<void>
Unregister a projection

Operators

operator ==(Object other) bool
The equality operator.
inherited