Interface ReactorEventProcessor<Error,S extends fr.maif.eventsourcing.State<S>,C extends fr.maif.eventsourcing.Command<Meta,Context>,E extends fr.maif.eventsourcing.Event,TxCtx,Message,Meta,Context>

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
DefaultReactorEventProcessor

public interface ReactorEventProcessor<Error,S extends fr.maif.eventsourcing.State<S>,C extends fr.maif.eventsourcing.Command<Meta,Context>,E extends fr.maif.eventsourcing.Event,TxCtx,Message,Meta,Context> extends Closeable
  • Method Details

    • create

      static <Error, S extends fr.maif.eventsourcing.State<S>, C extends fr.maif.eventsourcing.Command<Meta, Context>, E extends fr.maif.eventsourcing.Event, TxCtx, Message, Meta, Context> ReactorEventProcessor<Error,S,C,E,TxCtx,Message,Meta,Context> create(fr.maif.eventsourcing.EventProcessor<Error,S,C,E,TxCtx,Message,Meta,Context> eventProcessor)
    • processCommand

      reactor.core.publisher.Mono<io.vavr.control.Either<Error,fr.maif.eventsourcing.ProcessingSuccess<S,E,Meta,Context,Message>>> processCommand(C command)
    • batchProcessCommand

      reactor.core.publisher.Mono<io.vavr.collection.List<io.vavr.control.Either<Error,fr.maif.eventsourcing.ProcessingSuccess<S,E,Meta,Context,Message>>>> batchProcessCommand(io.vavr.collection.List<C> commands)
    • batchProcessCommand

      reactor.core.publisher.Mono<fr.maif.eventsourcing.TransactionManager.InTransactionResult<io.vavr.collection.List<io.vavr.control.Either<Error,fr.maif.eventsourcing.ProcessingSuccess<S,E,Meta,Context,Message>>>>> batchProcessCommand(TxCtx ctx, io.vavr.collection.List<C> commands)
    • getAggregate

      reactor.core.publisher.Mono<io.vavr.control.Option<S>> getAggregate(String id)
    • eventStore

    • getAggregateStore

      ReactorAggregateStore<S,String,TxCtx> getAggregateStore()