Пример #1
0
 public async Task Register(IMessagesRouter router)
 {
     foreach (var routeRule in _routeRules)
     {
         await routeRule(router);
     }
 }
Пример #2
0
 public async Task Register(IMessagesRouter router)
 {
     foreach (var messageRouteMap in _maps)
     {
         await messageRouteMap.Register(router);
     }
 }
Пример #3
0
 public void Configure(IMessagesRouter router)
 {
     foreach (var m in _maps)
     {
         m.Register(router)
         .Wait();
     }
 }
Пример #4
0
        public async Task Register(IMessagesRouter router)
        {
            await router.RegisterHandler <DomainEvent, DefaultMessageLoggerHandler>();

            await router.RegisterHandler <ICommand, DefaultMessageLoggerHandler>();

            await router.RegisterHandler <IFault, DefaultMessageLoggerHandler>();
        }
Пример #5
0
        public async Task Register(IMessagesRouter router)
        {
            await router.RegisterAggregate(SampleAggregatesCommandHandler.Descriptor);

            await router.RegisterProjectionGroup(new SampleProjectionGroup(_locator));

            await router.RegisterHandler <SampleAggregateChangedEvent, SampleProjectionBuilder>(m => m.SourceId);
        }
Пример #6
0
        public async Task Register(IMessagesRouter router)
        {
            await router.RegisterAggregate(new BalanceAggregatesCommandHandler());

            await router.RegisterSyncHandler <BalanceChangedEvent_V0, SampleProjectionBuilder>();

            await router.RegisterSyncHandler <BalanceChangedEvent_V1, SampleProjectionBuilder>();
        }
Пример #7
0
        public AkkaEventsChronicle(AkkaConfiguration akkaConf)
        {
            _system = akkaConf.CreateSystem();

            _system.AddDependencyResolver(new UnityDependencyResolver(new UnityContainer(), _system));

            _transport = new LocalAkkaEventBusTransport(_system);

            var routingActor =
                _system.ActorOf(Props.Create(() => new LocalSystemRoutingActor(new DefaultHandlerActorTypeFactory(),
                                                                               new LocalAkkaEventBusTransport(_system))));

            var actorLocator = new DefaultAggregateActorLocator();

            Router = new ActorMessagesRouter(routingActor);
        }
Пример #8
0
        public async Task Register(IMessagesRouter router)
        {
            await router.RegisterAggregate(new AccountCommandsHandler());

            await router.RegisterAggregate(new OrderCommandsHandler(null));

            await router.RegisterAggregate(new SkuCommandsHandler(null));

            await router.RegisterAggregate(new SkuStockCommandsHandler());

            await router.RegisterAggregate(new UserCommandsHandler());

            await router.RegisterProcess(new BuyNow(null));

            await router.RegisterSyncHandler <AccountCreated, AccountProjectionBuilder>();

            await router.RegisterSyncHandler <AccountReplenish, AccountProjectionBuilder>();

            await router.RegisterSyncHandler <AccountWithdrawal, AccountProjectionBuilder>();

            await router.RegisterSyncHandler <OrderCreated, OrdersProjectionBuilder>();

            await router.RegisterSyncHandler <ItemAdded, OrdersProjectionBuilder>();

            await router.RegisterSyncHandler <OrderCompleted, OrdersProjectionBuilder>();

            await router.RegisterSyncHandler <SkuCreated, SkuProjectionBuilder>();

            await router.RegisterSyncHandler <SkuStockCreated, SkuStockProjectionBuilder>();

            await router.RegisterSyncHandler <StockAdded, SkuStockProjectionBuilder>();

            await router.RegisterSyncHandler <StockReserved, SkuStockProjectionBuilder>();

            await router.RegisterSyncHandler <ReserveExpired, SkuStockProjectionBuilder>();

            await router.RegisterSyncHandler <StockTaken, SkuStockProjectionBuilder>();

            await router.RegisterSyncHandler <StockReserveTaken, SkuStockProjectionBuilder>();

            await router.RegisterSyncHandler <ReserveRenewed, SkuStockProjectionBuilder>();

            await router.RegisterSyncHandler <ReserveCanceled, SkuStockProjectionBuilder>();
        }
Пример #9
0
        public void Register(IMessagesRouter router)
        {
            router.RegisterAggregate <Account, AccountAggregateCommandsHandler>();
            router.RegisterAggregate <Bill, BillAggregateCommandsHandler>();
            router.RegisterAggregate <Subscription, SubscriptionAggregateCommandsHandler>();
            router.RegisterAggregate <Business, BusinessAggregateCommandsHandler>();

            router.RegisterSaga(BuySubscriptionSaga.Descriptor);

            router.Route <AccountBalanceReplenishEvent>()
            .ToHandler <BusinessCurrentBalanceProjectionBuilder>()
            .WithCorrelation(nameof(AccountBalanceReplenishEvent.BalanceId))
            .Register();

            router.Route <AccountCreatedEvent>()
            .ToHandler <BusinessCurrentBalanceProjectionBuilder>()
            .WithCorrelation(nameof(AccountCreatedEvent.BalanceId))
            .Register();

            router.Route <PayedForBillEvent>()
            .ToHandler <BusinessCurrentBalanceProjectionBuilder>()
            .WithCorrelation(nameof(PayedForBillEvent.BalanceId))
            .Register();

            router.Route <AccountBalanceReplenishEvent>()
            .ToHandler <TransactionsProjectionBuilder>()
            .WithCorrelation(nameof(AccountBalanceReplenishEvent.BalanceId))
            .Register();

            router.Route <AccountCreatedEvent>()
            .ToHandler <TransactionsProjectionBuilder>()
            .WithCorrelation(nameof(AccountCreatedEvent.BalanceId))
            .Register();

            router.Route <PayedForBillEvent>()
            .ToHandler <TransactionsProjectionBuilder>()
            .WithCorrelation(nameof(PayedForBillEvent.BalanceId))
            .Register();
        }
Пример #10
0
 public static Task RegisterSaga <TSaga, TData>(this IMessagesRouter router, params Type[] startMessages)
     where TSaga : Saga <TData>, new()
     where TData : class, ISagaState
 {
     return(router.RegisterSaga(new TSaga().CreateDescriptor <TSaga, TData>(startMessages), typeof(TSaga).Name));
 }
Пример #11
0
 //TODO: add version without correlation property
 public static Task RegisterHandler <TMessage, THandler>(this IMessagesRouter router,
                                                         Expression <Func <TMessage, Guid> > correlationPropertyExpression = null) where THandler : IHandler <TMessage>
 {
     return(router.RegisterHandler <TMessage, THandler>(MemberNameExtractor.GetName(correlationPropertyExpression)));
 }
 public async Task Register(IMessagesRouter router)
 {
     await router.RegisterSaga(SoftwareProgrammingSaga.Descriptor);
 }
Пример #13
0
 public Task Register(IMessagesRouter router)
 {
     return(Task.CompletedTask);
 }
Пример #14
0
 public async Task Register(IMessagesRouter router)
 {
     await router.RegisterAggregate(TestAggregatesCommandHandler.Descriptor);
 }
Пример #15
0
        public async Task Register(IMessagesRouter router)
        {
            await router.RegisterAggregate <TestAggregate, TestAggregateCommandHandler>();

            await router.RegisterSaga(TestSaga.SagaDescriptor);
        }
Пример #16
0
        public async Task Register(IMessagesRouter router)
        {
            await router.RegisterAggregate(BalanceAggregatesCommandHandler.Descriptor);

            await router.RegisterHandler <BalanceChangedEvent_V0, SampleProjectionBuilder>(m => m.SourceId);
        }
Пример #17
0
 public async Task Register(IMessagesRouter router)
 {
     await router.RegisterSaga(SagaForRecycling.Descriptor);
 }