private EventStoreRepository(IEventStoreRepositoryConfiguration configuration, IEventStoreConnection eventStoreConnection, IConnectionStatusMonitor connectionMonitor)
 {
     _eventStoreRepositoryConfiguration = configuration;
     _eventStoreConnection = eventStoreConnection;
     _eventTypeCache       = new Dictionary <string, Type>();
     _connectionMonitor    = connectionMonitor;
 }
예제 #2
0
 public SubscribeFromStartOrLaterToOneStreamEventStoreStream(IConnectionStatusMonitor <IEventStoreConnection> connectionMonitor, SubscribeToOneStreamFromStartOrLaterEventStoreStreamConfiguration subscribeToOneStreamEventStoreStreamConfiguration, IEventTypeProvider eventTypeProvider, ILoggerFactory?loggerFactory = null) : base(
         subscribeToOneStreamEventStoreStreamConfiguration.EventStreamPosition,
         connectionMonitor,
         subscribeToOneStreamEventStoreStreamConfiguration,
         eventTypeProvider,
         loggerFactory?.CreateLogger <SubscribeFromStartOrLaterToOneStreamEventStoreStream>())
 {
 }
 public SingleStreamCatchupCache(IConnectionStatusMonitor <IEventStoreConnection> connectionMonitor,
                                 SingleStreamCatchupCacheConfiguration <TAggregate> cacheConfiguration,
                                 IEventTypeProvider <TAggregate> eventTypeProvider,
                                 ILoggerFactory loggerFactory,
                                 ISnapshotStore <TAggregate>?snapshotStore = null,
                                 ISnapshotStrategy?snapshotStrategy        = null) : base(connectionMonitor, cacheConfiguration, eventTypeProvider, loggerFactory, snapshotStore, snapshotStrategy)
 {
 }
예제 #4
0
 public SubscribeFromEndToAllEventStoreStream(
     IConnectionStatusMonitor <IEventStoreConnection> connectionMonitor,
     SubscribeFromEndEventStoreStreamConfiguration volatileEventStoreStreamConfiguration,
     IEventTypeProvider eventTypeProvider,
     ILoggerFactory?loggerFactory = null,
     IKillSwitch?killSwitch       = null)
     : base(connectionMonitor, volatileEventStoreStreamConfiguration, eventTypeProvider, loggerFactory?.CreateLogger <SubscribeFromEndToAllEventStoreStream>())
 {
     _volatileEventStoreStreamConfiguration = volatileEventStoreStreamConfiguration;
     _killSwitch = killSwitch ?? new KillSwitch();
 }
 public PersistentSubscriptionEventStoreStream(IConnectionStatusMonitor <IEventStoreConnection> connectionMonitor,
                                               PersistentSubscriptionEventStoreStreamConfiguration persistentEventStoreStreamConfiguration,
                                               IEventTypeProvider eventTypeProvider,
                                               ILoggerFactory?loggerFactory = null,
                                               IKillSwitch?killSwitch       = null) : base(connectionMonitor,
                                                                                           persistentEventStoreStreamConfiguration,
                                                                                           eventTypeProvider,
                                                                                           loggerFactory?.CreateLogger <PersistentSubscriptionEventStoreStream>())
 {
     _persistentEventStoreStreamConfiguration = persistentEventStoreStreamConfiguration;
     _killSwitch = killSwitch ?? new KillSwitch();
 }
예제 #6
0
        public BaseEventStoreStatefulActor(IEventStoreActorConfigurationFactory eventStoreCacheFactory,
                                           IConnectionStatusMonitor <IEventStoreConnection> connectionStatusMonitor,
                                           ISnapshotStore <TAggregate>?snapshotStore = null,
                                           ISnapshotStrategy?snapshotStrategy        = null,
                                           ILoggerFactory?loggerFactory = null) : base(eventStoreCacheFactory, loggerFactory)
        {
            var eventStoreActorConfiguration = eventStoreCacheFactory.GetConfiguration <TAggregate>(GetType());
            var eventStoreCache = eventStoreActorConfiguration.GetEventStoreCache(connectionStatusMonitor, loggerFactory, snapshotStore, snapshotStrategy);

            State = eventStoreCache;

            Initialize();
        }
 public BaseSubscribeToOneStreamEventStoreStream(
     int streamPosition,
     IConnectionStatusMonitor <IEventStoreConnection> connectionMonitor,
     SubscribeToOneStreamFromStartOrLaterEventStoreStreamConfiguration subscribeToOneStreamEventStoreStreamConfiguration,
     IEventTypeProvider eventTypeProvider,
     Microsoft.Extensions.Logging.ILogger?logger = null,
     IKillSwitch?killSwitch = null)
     : base(connectionMonitor, subscribeToOneStreamEventStoreStreamConfiguration, eventTypeProvider, logger)
 {
     _volatileSubscribeToOneStreamEventStoreStreamConfiguration = subscribeToOneStreamEventStoreStreamConfiguration;
     _streamPosition = streamPosition;
     _killSwitch     = killSwitch ?? new KillSwitch();
 }
        public EventStoreBus(IConnectionStatusMonitor <IEventStoreConnection> connectionStatusMonitor,
                             IEventStoreRepository eventStoreRepository,
                             ILoggerFactory?loggerFactory = null)
        {
            BusId = $"{nameof(EventStoreBus)}_{Guid.NewGuid()}";

            _connectionStatusMonitor = connectionStatusMonitor;
            _eventStoreRepository    = eventStoreRepository;
            _cleanUp         = new CompositeDisposable();
            _pendingCommands = new Dictionary <Guid, TaskCompletionSource <ICommandResponse> >();
            _loggerFactory   = loggerFactory;
            _logger          = loggerFactory?.CreateLogger(typeof(EventStoreBus));
        }
        public EventStoreStatefulActorBuilder(IActorConfiguration actorConfiguration,
                                              IEventStoreAggregateRepository eventStoreRepository,
                                              IConnectionStatusMonitor <IEventStoreConnection> connectionMonitor,
                                              ILoggerFactory loggerFactory
                                              )
        {
            ActorConfiguration   = actorConfiguration;
            EventStoreRepository = eventStoreRepository;
            LoggerFactory        = loggerFactory;
            ConnectionMonitor    = connectionMonitor;

            _busToRegisterTo = new Dictionary <Type, Action <Container, IActor> >();
        }
예제 #10
0
        public BaseEventStoreStream(IConnectionStatusMonitor <IEventStoreConnection> connectionMonitor,
                                    IEventStoreStreamConfiguration cacheConfiguration,
                                    IEventTypeProvider eventTypeProvider,
                                    ILogger?logger = null)
        {
            Logger = logger;

            Id = $"{GetType()}-{Guid.NewGuid()}";

            _eventStoreStreamConfiguration = cacheConfiguration;
            _eventTypeProvider             = eventTypeProvider;
            _connectionMonitor             = connectionMonitor;

            _onMessageSubject = new Subject <IMessage>();
        }
        public EventStoreRepository(
            IEventStoreRepositoryConfiguration eventStoreRepositoryConfiguration,
            IEventStoreConnection eventStoreConnection,
            IConnectionStatusMonitor <IEventStoreConnection> connectionMonitor,
            ILoggerFactory loggerFactory)
        {
            Logger = loggerFactory?.CreateLogger <EventStoreRepository>();

            Id = $"{GetType()}-{Guid.NewGuid()}";

            _eventStoreRepositoryConfiguration = eventStoreRepositoryConfiguration;
            _eventStoreConnection = eventStoreConnection;

            _cleanup = connectionMonitor.OnConnected
                       .Subscribe(isConnected =>
            {
                IsConnected = isConnected;
            });
        }
        public RabbitMqBus(RabbitMqConnectionOptions rabbitMqConnectionOptions,
                           AnabasisAppContext appContext,
                           ISerializer serializer,
                           ILoggerFactory?loggerFactory = null,
                           IKillSwitch?killSwitch       = null,
                           RetryPolicy?retryPolicy      = null)
        {
            BusId = $"{nameof(RabbitMqBus)}_{Guid.NewGuid()}";

            _logger     = loggerFactory?.CreateLogger <RabbitMqBus>();
            _serializer = serializer;
            _defaultPublishConfirmTimeout = TimeSpan.FromSeconds(10);
            _existingSubscriptions        = new Dictionary <string, IRabbitMqSubscription>();
            _ensureExchangeCreated        = new List <string>();
            _rabbitMqConnectionOptions    = rabbitMqConnectionOptions;
            _killSwitch = killSwitch ?? new KillSwitch();
            _appContext = appContext;

            RabbitMqConnection      = new RabbitMqConnection(rabbitMqConnectionOptions, appContext, loggerFactory, retryPolicy);
            ConnectionStatusMonitor = new RabbitMqConnectionStatusMonitor(RabbitMqConnection, loggerFactory);
        }
 private EventStoreRepository(EventStoreRepositoryConfiguration configuration, IEventStoreConnection eventStoreConnection, IConnectionStatusMonitor connectionMonitor)
 {
     _eventStoreRepositoryConfiguration = configuration;
     _eventStoreConnection = eventStoreConnection;
     _connectionMonitor    = connectionMonitor;
 }
 public TestCatchupWithMailboxActor(IEventStoreActorConfigurationFactory eventStoreCacheFactory, IConnectionStatusMonitor <IEventStoreConnection> connectionStatusMonitor, ISnapshotStore <SomeDataAggregate> snapshotStore = null, ISnapshotStrategy snapshotStrategy = null, ILoggerFactory loggerFactory = null) : base(eventStoreCacheFactory, connectionStatusMonitor, snapshotStore, snapshotStrategy, loggerFactory)
 {
 }
예제 #15
0
 public TestStatefulActorOneHealthChecksMvc(IEventStoreActorConfigurationFactory eventStoreCacheFactory, IConnectionStatusMonitor <IEventStoreConnection> connectionStatusMonitor, ISnapshotStore <SomeDataAggregate> snapshotStore = null, ISnapshotStrategy snapshotStrategy = null, ILoggerFactory loggerFactory = null) : base(eventStoreCacheFactory, connectionStatusMonitor, snapshotStore, snapshotStrategy, loggerFactory)
 {
 }
 public EventStoreAggregateRepository(IEventStoreRepositoryConfiguration eventStoreRepositoryConfiguration,
                                      IEventStoreConnection eventStoreConnection,
                                      IConnectionStatusMonitor <IEventStoreConnection> connectionMonitor,
                                      ILoggerFactory loggerFactory) : base(eventStoreRepositoryConfiguration, eventStoreConnection, connectionMonitor, loggerFactory)
 {
 }
예제 #17
0
 public EventCountStatefulActor(IEventStoreActorConfigurationFactory eventStoreCacheFactory, IConnectionStatusMonitor <IEventStoreConnection> connectionStatusMonitor, ISnapshotStore <EventCountAggregate> snapshotStore = null, ISnapshotStrategy snapshotStrategy = null, ILoggerFactory loggerFactory = null) : base(eventStoreCacheFactory, connectionStatusMonitor, snapshotStore, snapshotStrategy, loggerFactory)
 {
 }
예제 #18
0
 public TradeSink(IEventStoreActorConfigurationFactory eventStoreCacheFactory, IConnectionStatusMonitor <IEventStoreConnection> connectionStatusMonitor, ISnapshotStore <Trade> snapshotStore = null, ISnapshotStrategy snapshotStrategy = null, ILoggerFactory loggerFactory = null) : base(eventStoreCacheFactory, connectionStatusMonitor, snapshotStore, snapshotStrategy, loggerFactory)
 {
 }
예제 #19
0
        protected BaseOneOrManyStreamCatchupCache(IConnectionStatusMonitor <IEventStoreConnection> connectionMonitor, MultipleStreamsCatchupCacheConfiguration <TAggregate> catchupCacheConfiguration, IEventTypeProvider <TAggregate> eventTypeProvider, ILoggerFactory loggerFactory, ISnapshotStore <TAggregate>?snapshotStore = null, ISnapshotStrategy?snapshotStrategy = null) : base(connectionMonitor, catchupCacheConfiguration, eventTypeProvider, loggerFactory, snapshotStore, snapshotStrategy)
        {
            var catchupCacheSubscriptionHolders = catchupCacheConfiguration.StreamIds.Select(streamId => new CatchupCacheSubscriptionHolder <TAggregate>(streamId, catchupCacheConfiguration.CrashAppIfSubscriptionFail)).ToArray();

            Initialize(catchupCacheSubscriptionHolders);
        }