public IConsumerManager Create(IConsumerConfiguration configuration, IDependencyResolver resolver) { var logHandler = resolver.Resolve <ILogHandler>(); var middlewares = configuration.MiddlewareConfiguration.Factories .Select(factory => factory(resolver)) .ToList(); var consumer = new Consumer(configuration, logHandler); var consumerWorkerPool = new ConsumerWorkerPool( consumer, resolver, logHandler, new MiddlewareExecutor(middlewares), configuration.DistributionStrategyFactory); var feeder = new WorkerPoolFeeder( consumer, consumerWorkerPool, logHandler); var consumerManager = new ConsumerManager( consumer, consumerWorkerPool, feeder, logHandler); return(consumerManager); }
public IConsumerManager Create(IConsumerConfiguration configuration, IDependencyResolver resolver) { var logHandler = resolver.Resolve <ILogHandler>(); var consumer = configuration.CustomFactory(new Consumer(configuration, resolver, logHandler), resolver); var consumerWorkerPool = new ConsumerWorkerPool( consumer, resolver, new MiddlewareExecutor(configuration.MiddlewaresConfigurations), configuration, logHandler); var feeder = new WorkerPoolFeeder( consumer, consumerWorkerPool, logHandler); var consumerManager = new ConsumerManager( consumer, consumerWorkerPool, feeder, logHandler); return(consumerManager); }
public void Setup() { this.consumerMock = new Mock <IConsumer>(MockBehavior.Strict); this.workerPoolMock = new Mock <IConsumerWorkerPool>(MockBehavior.Strict); this.logHandlerMock = new Mock <ILogHandler>(MockBehavior.Strict); this.target = new WorkerPoolFeeder( this.consumerMock.Object, this.workerPoolMock.Object, this.logHandlerMock.Object); }