public static AggregateRepository New(string akkaWriteDbConnectionString, EventsAdaptersCatalog upgradeCatalog = null) { var rawSqlAkkaPersistenceRepository = new RawJournalRepository(akkaWriteDbConnectionString); var domainEventsRepository = new DomainEventsRepository(rawSqlAkkaPersistenceRepository); return(new AggregateRepository(domainEventsRepository, upgradeCatalog)); }
public static ActorSystemEventRepository New(IActorSystemFactory factory, EventsAdaptersCatalog eventsAdaptersCatalog) { var actorSystem = factory.Create(); actorSystem.InitDomainEventsSerialization(eventsAdaptersCatalog); return(new ActorSystemEventRepository(actorSystem)); }
public static AggregateRepository New(string akkaWriteDbConnectionString, EventsAdaptersCatalog upgradeCatalog = null) { var options = new DbContextOptionsBuilder().UseSqlServer(akkaWriteDbConnectionString).Options; var rawSqlAkkaPersistenceRepository = new RawJournalRepository(options); var domainEventsRepository = new DomainEventsRepository(rawSqlAkkaPersistenceRepository); return(new AggregateRepository(domainEventsRepository, upgradeCatalog)); }
public static ActorSystemEventRepository New(AkkaConfiguration conf, EventsAdaptersCatalog eventsAdaptersCatalog) { var actorSystem = conf.CreateSystem(); actorSystem.InitDomainEventsSerialization(eventsAdaptersCatalog); return(new ActorSystemEventRepository(actorSystem)); }
public void When_updating_single_event_Tests() { var chain = new EventsAdaptersCatalog(); chain.Register(new DomainEventUpdater3()); var balanceAggregate = new BalanceAggregate(Guid.NewGuid(), 10); _initialEvent = new TestEvent_V2(balanceAggregate.Id); _resultEvent = chain.Update(_initialEvent).OfType <TestEvent_V3>(); }
public void When_updating_single_event_Tests() { var chain = new EventsAdaptersCatalog(); chain.Register(new DomainEventUpdater1()); chain.Register(new DomainEventUpdater2()); var balanceAggregate = new BalanceAggregate(Guid.NewGuid(), 10); _initialEvent = new TestEvent(balanceAggregate.Id); _resultEvent = chain.Update(_initialEvent).FirstOrDefault() as TestEvent_V2; }
public async Task Start() { Log.Information("Starting GridDomain node {Id}", Id); _stopping = false; EventsAdaptersCatalog = new EventsAdaptersCatalog(); _containerBuilder = new ContainerBuilder(); System = _actorSystemFactory.Create(); System.RegisterOnTermination(OnSystemTermination); System.InitLocalTransportExtension(); Transport = System.GetTransport(); _containerBuilder.Register(new GridNodeContainerConfiguration(Transport, Log)); _waiterFactory = new MessageWaiterFactory(System, Transport, DefaultTimeout); Initializing.Invoke(this, this); System.InitDomainEventsSerialization(EventsAdaptersCatalog); ActorTransportProxy = System.ActorOf(Props.Create(() => new LocalTransportProxyActor()), nameof(ActorTransportProxy)); //var appInsightsConfig = AppInsightsConfigSection.Default ?? new DefaultAppInsightsConfiguration(); //var perfCountersConfig = AppInsightsConfigSection.Default ?? new DefaultAppInsightsConfiguration(); // //if(appInsightsConfig.IsEnabled) //{ // var monitor = new ActorAppInsightsMonitor(appInsightsConfig.Key); // ActorMonitoringExtension.RegisterMonitor(System, monitor); //} //if(perfCountersConfig.IsEnabled) // ActorMonitoringExtension.RegisterMonitor(System, new ActorPerformanceCountersMonitor()); _commandExecutor = await CreateCommandExecutor(); _containerBuilder.RegisterInstance(_commandExecutor); var domainBuilder = CreateDomainBuilder(); domainBuilder.Configure(_containerBuilder); Container = _containerBuilder.Build(); System.AddDependencyResolver(new AutoFacDependencyResolver(Container, System)); domainBuilder.Configure(Pipe); var nodeController = System.ActorOf(Props.Create(() => new GridNodeController(Pipe.CommandExecutor, ActorTransportProxy)), nameof(GridNodeController)); await nodeController.Ask <GridNodeController.Alive>(GridNodeController.HeartBeat.Instance); Log.Information("GridDomain node {Id} started at home {Home}", Id, System.Settings.Home); }
public static DomainEventsJsonSerializationExtension InitDomainEventsSerialization( this ActorSystem system, EventsAdaptersCatalog eventAdapters ) { if (system == null) { throw new ArgumentNullException(nameof(system)); } var ext = (DomainEventsJsonSerializationExtension)system.RegisterExtension(DomainEventsJsonSerializationExtensionProvider.Provider); ext.Converters = eventAdapters.JsonConverters; ext.EventsAdapterCatalog = eventAdapters; return(ext); }
public void When_updating_single_event_Tests() { var chain = new EventsAdaptersCatalog(); chain.Register(new DomainEventUpdater3()); var balanceAggregate = new BalanceAggregate(Guid.NewGuid(), 10); _initialEvent = new TestEvent_V2(balanceAggregate.Id); _resultEvent = chain.Update(_initialEvent).OfType <TestEvent_V3>(); //Events_type_was_updated() Assert.IsAssignableFrom <TestEvent_V3>(_resultEvent.FirstOrDefault()); //All_events_were_produced() Assert.Equal(2, _resultEvent.Count()); //Event_id_was_remained() Assert.True(_resultEvent.All(e => e.SourceId == _initialEvent.SourceId)); }
public void When_updating_single_event_Tests() { var chain = new EventsAdaptersCatalog(); chain.Register(new DomainEventUpdater1()); chain.Register(new DomainEventUpdater2()); var balanceAggregate = new BalanceAggregate(Guid.NewGuid(), 10); _initialEvent = new TestEvent(balanceAggregate.Id); _resultEvent = chain.Update(_initialEvent).FirstOrDefault() as TestEvent_V2; // Event_type_was_updated() Assert.IsAssignableFrom <TestEvent_V2>(_resultEvent); //Event_id_was_remained() Assert.Equal(_initialEvent.SourceId, _resultEvent.SourceId); //Event_Field_was_remained() Assert.Equal(_initialEvent.Field, _resultEvent.Field3); }
public AggregateRepository(IRepository <DomainEvent> eventRepository, EventsAdaptersCatalog eventsAdaptersCatalog = null) { _eventsAdaptersCatalog = eventsAdaptersCatalog ?? new EventsAdaptersCatalog(); _eventRepository = eventRepository; }