public ReplicatingConsumerFactory(DittoSettings appSettings, ILogger logger) { _appSettings = appSettings ?? throw new ArgumentNullException(nameof(appSettings)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _destinationConnection = new Lazy <IEventStoreConnection>(() => ConnectionFactory.CreateEventStoreConnection(_logger, _appSettings.DestinationEventStoreConnectionString, "Ditto:Destination")); }
public ReplicatingConsumer(IAmazonKinesis kinesis, KinesisSettings kinesisSettings, DittoSettings dittoSettings, ILogger logger, string streamName, string groupName) { _kinesis = kinesis ?? throw new ArgumentNullException(nameof(kinesis)); _kinesisSettings = kinesisSettings ?? throw new ArgumentNullException(nameof(kinesisSettings)); _dittoSettings = dittoSettings ?? throw new ArgumentNullException(nameof(dittoSettings)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); StreamName = streamName ?? throw new ArgumentNullException(nameof(streamName)); GroupName = groupName ?? throw new ArgumentNullException(nameof(groupName)); }
public ReplicatingConsumer( IEventStoreConnection connection, Serilog.ILogger logger, DittoSettings settings, string streamName, string groupName) { _connection = connection ?? throw new ArgumentNullException(nameof(connection)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _settings = settings ?? throw new ArgumentNullException(nameof(settings)); StreamName = streamName ?? throw new ArgumentNullException(nameof(streamName)); GroupName = groupName ?? throw new ArgumentNullException(nameof(groupName)); if (_settings.TimeToLive.GetValueOrDefault().TotalMilliseconds > 0) { _streamMetadata = StreamMetadata.Build().SetMaxAge(_settings.TimeToLive.Value); _ttl = true; } }
private static ICompetingConsumer CreateConsumer( IServiceProvider provider, DittoSettings settings, KinesisSettings destinationSettings, string streamName, string groupName) { return(new ReplicatingConsumer( provider.GetRequiredService <IAmazonKinesis>(), destinationSettings, settings, provider.GetRequiredService <ILogger>(), streamName, groupName )); }