public AzureServiceBusBaseDistributedProducer(IAzureServiceBusConnectionManager azureServiceBusConnectionManager, ILogger logger, ISerializer <TMessage> serializer, DistributedProducerConfig config) : base(azureServiceBusConnectionManager, logger, serializer, queueName => { var result = new Dictionary <int, string>(); for (int i = 0; i < config.ParallelizeQueueTo; i++) { result.Add(i, ModelBuilder.GetQueueName(queueName, i)); } return(result); }) { _config = config; }
internal IProducer <TMessage> CreateDistributedProducer <TMessage>(ILogger logger, ISerializer <TMessage> serializer, DistributedProducerConfig config) where TMessage : IDistributableMessage { if (RabbitMqConnectionManager != null) { return(new RabbitMqBaseDistributedProducer <TMessage>(RabbitMqConnectionManager, logger, serializer, config)); } if (AzureServiceBusConnectionManager != null) { return(new AzureServiceBusBaseDistributedProducer <TMessage>(AzureServiceBusConnectionManager, logger, serializer, config)); } throw new NotImplementedException(); }
protected BaseDistributedProducer(MqConnection connectionManager, ILogger logger, ISerializer <TMessage> serializer, DistributedProducerConfig config) { _currentProducer = connectionManager.CreateDistributedProducer(logger, serializer, config); }
public RabbitMqBaseDistributedProducer(IRabbitMqConnectionManager connectionManager, ILogger logger, ISerializer <TMessage> serializer, DistributedProducerConfig config) : base(connectionManager, logger, serializer) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _config = config ?? throw new ArgumentNullException(nameof(config)); }