Esempio n. 1
0
        public static void Run()
        {
            var eventTypeProvider = new DefaultEventTypeProvider <EventCountAggregate>(() => new[] { typeof(EventCountOne), typeof(EventCountTwo) });;

            var eventCountActor = EventStoreStatefulActorBuilder <EventCountStatefulActor, EventCountAggregate, DemoSystemRegistry>
                                  .Create(StaticData.EventStoreUrl, Do.GetConnectionSettings(), ActorConfiguration.Default)
                                  .WithReadOneStreamFromStartCache(StaticData.EntityOne,
                                                                   eventTypeProvider: eventTypeProvider,
                                                                   getMultipleStreamsCatchupCacheConfiguration: builder => builder.KeepAppliedEventsOnAggregate = true)
                                  .Build();


            Do.Run(eventCountActor);
        }
Esempio n. 2
0
        public static void Run()
        {
            var clusterVNode = EmbeddedVNodeBuilder
                               .AsSingleNode()
                               .RunInMemory()
                               .StartStandardProjections()
                               .WithWorkerThreads(1)
                               .Build();

            clusterVNode.StartAsync(true).Wait();

            CreateSubscriptionGroups(clusterVNode).Wait();

            var eventCountActorOne = EventStoreEmbeddedStatelessActorBuilder <EventCountStatelessActor, DemoSystemRegistry>
                                     .Create(clusterVNode, Do.GetConnectionSettings(), ActorConfiguration.Default)
                                     .WithBus <IEventStoreBus>((actor, bus) =>
            {
                actor.SubscribeToPersistentSubscriptionStream(StaticData.PersistentStreamOne, StaticData.GroupIdOne);
            })
                                     .Build();

            var eventCountActorTwo = EventStoreEmbeddedStatelessActorBuilder <EventCountStatelessActor, DemoSystemRegistry>
                                     .Create(clusterVNode, Do.GetConnectionSettings(), ActorConfiguration.Default)
                                     .WithBus <IEventStoreBus>((actor, bus) =>
            {
                actor.SubscribeToPersistentSubscriptionStream(StaticData.PersistentStreamOne, StaticData.GroupIdOne);
            })
                                     .Build();

            var position = 0;

            while (true)
            {
                if (position == 0)
                {
                    Console.WriteLine("Press enter to generate random event...");
                }

                Console.ReadLine();

                Console.WriteLine($"Generating {nameof(EventCountOne)} for stream {StaticData.PersistentStreamOne}");
                eventCountActorOne.EmitEventStore(new EventCountOne(position++, StaticData.PersistentStreamOne, Guid.NewGuid())).Wait();
            }
        }
Esempio n. 3
0
        public static void Run()
        {
            var clusterVNode = EmbeddedVNodeBuilder
                               .AsSingleNode()
                               .RunInMemory()
                               .WithWorkerThreads(1)
                               .Build();

            clusterVNode.StartAsync(true).Wait();

            var eventTypeProvider = new DefaultEventTypeProvider <EventCountAggregate>(() => new[] { typeof(EventCountOne), typeof(EventCountTwo) });;

            var eventCountActor = EventStoreEmbeddedStatefulActorBuilder <EventCountStatefulActor, EventCountAggregate, DemoSystemRegistry>
                                  .Create(clusterVNode, Do.GetConnectionSettings(), ActorConfiguration.Default)
                                  .WithReadAllFromEndCache(
                eventTypeProvider: eventTypeProvider,
                getSubscribeFromEndCacheConfiguration: builder => builder.KeepAppliedEventsOnAggregate = true)
                                  .Build();

            Do.Run(eventCountActor);
        }