public DefaultUncommittedEventExecutor( IProcessingCommandCache processingCommandCache, ICommandAsyncResultManager commandAsyncResultManager, IAggregateRootTypeProvider aggregateRootTypeProvider, IAggregateRootFactory aggregateRootFactory, IMemoryCache memoryCache, IRepository repository, IRetryCommandService retryCommandService, IEventStore eventStore, IEventPublisher eventPublisher, IRetryService retryService, IEventPersistenceSynchronizerProvider eventPersistenceSynchronizerProvider, ICommandContext commandContext, ILoggerFactory loggerFactory) { _processingCommandCache = processingCommandCache; _commandAsyncResultManager = commandAsyncResultManager; _aggregateRootTypeProvider = aggregateRootTypeProvider; _aggregateRootFactory = aggregateRootFactory; _memoryCache = memoryCache; _repository = repository; _retryCommandService = retryCommandService; _eventStore = eventStore; _eventPublisher = eventPublisher; _retryService = retryService; _eventPersistenceSynchronizerProvider = eventPersistenceSynchronizerProvider; _logger = loggerFactory.Create(GetType().Name); }
public DefaultCommandExecutor( IProcessingCommandCache processingCommandCache, ICommandAsyncResultManager commandAsyncResultManager, ICommandHandlerProvider commandHandlerProvider, IAggregateRootTypeProvider aggregateRootTypeProvider, IMemoryCache memoryCache, IRepository repository, IRetryCommandService retryCommandService, IEventStore eventStore, IEventPublisher eventPublisher, IEventPersistenceSynchronizerProvider eventPersistenceSynchronizerProvider, ICommandContext commandContext, ILoggerFactory loggerFactory) { _processingCommandCache = processingCommandCache; _commandAsyncResultManager = commandAsyncResultManager; _commandHandlerProvider = commandHandlerProvider; _aggregateRootTypeProvider = aggregateRootTypeProvider; _memoryCache = memoryCache; _repository = repository; _retryCommandService = retryCommandService; _eventStore = eventStore; _eventPublisher = eventPublisher; _eventPersistenceSynchronizerProvider = eventPersistenceSynchronizerProvider; _commandContext = commandContext; _trackingContext = commandContext as ITrackingContext; _logger = loggerFactory.Create(GetType().Name); if (_trackingContext == null) { throw new Exception("command context must also implement ITrackingContext interface."); } }