public RabbitMQBatchConsumerWorker(ILogger logger, RabbitMQConnection connection, string queueName, IModel model,
                                    IBatchProcessingWorker <T> batchProcessingWorker, IMessageRejectionHandler messageRejectionHandler,
                                    ISerializer serializer)
 {
     _logger = logger;
     _model  = model;
     _model.BasicQos(0, batchProcessingWorker.GetBatchSize(), false);
     _queueName               = queueName;
     _batchProcessingWorker   = batchProcessingWorker;
     _messageRejectionHandler = messageRejectionHandler;
     _serializer              = serializer;
     CheckAliveFrequency      = new TimeSpan(0, 0, 10);
 }
コード例 #2
0
        public IQueueConsumer CreateBatchConsumer <T>(string queueName, IConsumerCountManager consumerCountManager,
                                                      IBatchProcessingWorker <T> batchProcessingWorker, IMessageRejectionHandler messageRejectionHandler)
            where T : class
        {
            RabbitMQConnection connectionConsumer = ConnectionPerQueue
                ? _rabbitMQConnectionManager.CreateConnection($"consumer: {queueName}")
                : _rabbitMQConnectionManager.ConnectionByName("consumer") ?? _rabbitMQConnectionManager.CreateConnection("consumer");

            var connectionPublisher = _rabbitMQConnectionManager.ConnectionByName("publisher");

            return(new RabbitMQBatchConsumer <T>(
                       connection: connectionConsumer,
                       connectionPublisher: connectionPublisher,
                       connectionFactory: _connectionFactory,
                       queueName: queueName,
                       serializer: _serializer,
                       logger: _logger,
                       batchProcessingWorker: batchProcessingWorker,
                       consumerCountManager: consumerCountManager,
                       messageRejectionHandler: messageRejectionHandler));
        }
コード例 #3
0
 public RabbitMQBatchConsumer(ILogger logger, ConnectionFactory connectionFactory, RabbitMQConnection connection, RabbitMQConnection connectionPublisher, string queueName, IBatchProcessingWorker <T> batchProcessingWorker, ISerializer serializer = null, IConsumerCountManager consumerCountManager = null, IMessageRejectionHandler messageRejectionHandler = null)
     : base(connectionFactory, connection, connectionPublisher, queueName, serializer, logger, consumerCountManager, messageRejectionHandler)
 {
     _batchProcessingWorker = batchProcessingWorker;
     _logger = logger;
 }