예제 #1
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();
 }
 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 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);
        }
        public DispatchQueue(string ownerId, DispatchQueueConfiguration dispatchQueueConfiguration, ILoggerFactory?loggerFactory = null, IKillSwitch?killSwitch = null)
        {
            Logger = loggerFactory?.CreateLogger(GetType());
            Owner  = ownerId;
            Id     = $"{nameof(DispatchQueue)}_{ownerId}_{Guid.NewGuid()}";

            _killSwitch = killSwitch ?? new KillSwitch();

            _workQueue = new FlushableBlockingCollection <IMessage>(dispatchQueueConfiguration.MessageBatchSize, dispatchQueueConfiguration.QueueMaxSize);

            _onEventReceived = dispatchQueueConfiguration.OnEventReceived;

            _dispatchQueueConfiguration = dispatchQueueConfiguration;

            _thread = new Thread(HandleWork)
            {
                IsBackground = true,
                Name         = Id,
            };

            _thread.Start();

            Logger?.LogDebug("{0} started", Id);
        }
 public StoppedKillSwitchState(IKillSwitch killSwitch, Exception exception)
 {
     _killSwitch = killSwitch;
     _exception  = exception;
 }
예제 #7
0
 public KillSwitch(Context context, ObjectPath opath)
 {
     this.killswitch = context.GetObject <IKillSwitch> (opath);
 }
예제 #8
0
 public StartedKillSwitchState(IKillSwitch killSwitch)
 {
     _killSwitch = killSwitch;
 }
예제 #9
0
 public RestartingKillSwitchState(IKillSwitch killSwitch, Exception exception)
 {
     _killSwitch = killSwitch;
     _exception  = exception;
 }
예제 #10
0
		public KillSwitch (Context context, ObjectPath opath)
		{
			this.killswitch = context.GetObject<IKillSwitch> (opath);
		}