public OutboxProcessor(IServiceProvider serviceProvider, IBusPublisher publisher, OutboxOptions options, ILogger <OutboxProcessor> logger) { if (options.Enabled && options.IntervalMilliseconds <= 0) { throw new Exception($"Invalid outbox interval: {options.IntervalMilliseconds} ms."); } _type = OutboxType.Sequential; if (!string.IsNullOrWhiteSpace(options.Type)) { if (!Enum.TryParse <OutboxType>(options.Type, true, out var outboxType)) { throw new ArgumentException($"Invalid outbox type: '{_type}', " + $"valid types: '{OutboxType.Sequential}', '{OutboxType.Parallel}'."); } _type = outboxType; } _serviceProvider = serviceProvider; _publisher = publisher; _options = options; _logger = logger; _interval = TimeSpan.FromMilliseconds(options.IntervalMilliseconds); if (options.Enabled) { _logger.LogInformation($"Outbox is enabled, type: '{_type}', message processing every {options.IntervalMilliseconds} ms."); return; } _logger.LogInformation("Outbox is disabled."); }
public EntityFrameworkMessageOutbox(TContext dbContext, OutboxOptions options, ILogger <EntityFrameworkMessageOutbox <TContext> > logger) { _dbContext = dbContext; _logger = logger; Enabled = options.Enabled; }
public MongoMessageOutbox(IMongoRepository <OutboxMessage, Guid> repository, OutboxOptions options, ILogger <MongoMessageOutbox> logger) { _repository = repository; _logger = logger; Enabled = options.Enabled; }
public EntityFrameworkMessageOutbox(TContext dbContext, OutboxOptions options, ILogger <EntityFrameworkMessageOutbox <TContext> > logger) { _dbContext = dbContext; _logger = logger; _inboxMessagesSet = _dbContext.Set <InboxMessage>(); Enabled = options.Enabled; }
public OutboxDataProviderEf(TDbContext dbContext, IOptions <OutboxOptions> outboxOptions, ILogger <OutboxDataProviderEf <TDbContext> > logger) { if (outboxOptions is null) { throw new ArgumentNullException(nameof(outboxOptions)); } _dbContext = dbContext; _logger = logger; _outboxOptions = outboxOptions.Value; }
public MongoMessageOutbox(IMongoSessionFactory sessionFactory, IMongoRepository <InboxMessage, string> inboxRepository, IMongoRepository <OutboxMessage, string> outboxRepository, OutboxOptions options, ILogger <MongoMessageOutbox> logger) { _sessionFactory = sessionFactory; _inboxRepository = inboxRepository; _outboxRepository = outboxRepository; _logger = logger; Enabled = options.Enabled; }
public OutboxCommandHandlerDecorator(ICommandHandler<TCommand> handler, IMessageOutbox outbox, OutboxOptions outboxOptions, IMessagePropertiesAccessor messagePropertiesAccessor) { _handler = handler; _outbox = outbox; _enabled = outboxOptions.Enabled; var messageProperties = messagePropertiesAccessor.MessageProperties; _messageId = string.IsNullOrWhiteSpace(messageProperties?.MessageId) ? Guid.NewGuid().ToString("N") : messageProperties.MessageId; }
public OutboxProcessor(IMessageOutbox outbox, IBusPublisher publisher, OutboxOptions options, ILogger <OutboxProcessor> logger) { if (options.Enabled && options.IntervalMilliseconds <= 0) { throw new Exception($"Invalid outbox interval: {options.IntervalMilliseconds} ms."); } _outbox = outbox as IMessageOutboxAccessor; _publisher = publisher; _options = options; _logger = logger; _interval = TimeSpan.FromMilliseconds(options.IntervalMilliseconds); if (options.Enabled) { _logger.LogInformation($"Outbox is enabled, message processing every {options.IntervalMilliseconds} ms."); return; } _logger.LogInformation("Outbox is disabled."); }
public MessageOutboxConfigurator(IServiceCollection services, OutboxOptions options) { Services = services; Options = options; }
public MessageOutboxConfigurator(IConveyBuilder builder, OutboxOptions options) { Builder = builder; Options = options; }
public InMemoryMessageOutbox(OutboxOptions options, ILogger <InMemoryMessageOutbox> logger) { _logger = logger; _expiry = options.Expiry; Enabled = options.Enabled; }
public EFCoreOutboxMessageAccessor(DbContext dbContext, OutboxOptions options) { _dbContext = dbContext; _options = options; }
public OutboxDispatcher([NotNull] IServiceScopeFactory scopeFactory, [NotNull] IOptions <OutboxOptions> options) { _serviceScopeFactory = scopeFactory ?? throw new ArgumentNullException(nameof(scopeFactory)); _outboxOptions = options.Value; }
public MongoOutboxInitializer(IMongoDatabase database, OutboxOptions options) { _database = database; _options = options; }
public Neo4JOutboxDataProvider(ITransactionalGraphClient graphClient, IOptions <OutboxOptions> outboxOptions) { _graphClient = graphClient; _outboxOptions = outboxOptions.Value; }
public EfOutboxDataProvider(TDbContext dbContext, IOptions <OutboxOptions> outboxOptions) { _dbContext = dbContext; _outboxOptions = outboxOptions.Value; }
public OutboxDataProviderNeo4j(ITransactionalGraphClient graphClient, IOptions <OutboxOptions> outboxOptions) { _graphClient = graphClient ?? throw new ArgumentNullException(nameof(graphClient)); _outboxOptions = outboxOptions?.Value ?? throw new ArgumentNullException(nameof(outboxOptions)); }
public MessageOutboxConfigurator(IBioWorldBuilder builder, OutboxOptions options) { Builder = builder; Options = options; }