/// <summary> /// Initializes a new instance of the ExchangePublisher class /// </summary> /// <param name="exchangeName">Name of exchange used for publishing</param> /// <param name="channel">rabbitmq connection channel</param> /// <param name="protocol">protocol for encoding the messages</param> /// <param name="logger">injected logger</param> public ExchangePublisher(string exchangeName, IPublishManager channel, IGenericMessageProtocol protocol, ILogger logger) : base(exchangeName, channel, protocol, logger) { Contract.Requires <ArgumentNullException>(exchangeName != null, "exchangeName is null"); Contract.Requires <ArgumentNullException>(channel != null, "channel is null"); Contract.Requires <ArgumentNullException>(protocol != null, "protocol is null"); Contract.Requires <ArgumentNullException>(logger != null, "logger is null"); }
/// <summary> /// Initializes a new instance of the QueueRetriever class /// </summary> /// <param name="queue">name of the queue to retrieve from</param> /// <param name="channel">RabbitMQ connection channel</param> /// <param name="protocol">protocol used for decoding the messages</param> /// <param name="logger">injected logger</param> public QueueRetriever(string queue, IMessageRetrievalManager channel, IGenericMessageProtocol protocol, ILogger logger) : this(queue, false, channel, protocol, logger) { Contract.Requires <ArgumentNullException>(queue != null, "queue is null"); Contract.Requires <ArgumentNullException>(channel != null, "channel is null"); Contract.Requires <ArgumentNullException>(protocol != null, "protocol is null"); Contract.Requires <ArgumentNullException>(logger != null, "logger is null"); }
/// <summary> /// Initializes a new instance of the QueueRetriever class /// </summary> /// <param name="queue">name of the queue to retrieve from</param> /// <param name="noAck"> flag to indicate whether or not 'NOACK' is enabled</param> /// <param name="channel">RabbitMQ connection channel</param> /// <param name="protocol">protocol used for decoding the messages</param> /// <param name="logger">injected logger</param> public QueueRetriever(string queue, bool noAck, IMessageRetrievalManager channel, IGenericMessageProtocol protocol, ILogger logger) : base(queue, noAck, channel, logger) { Contract.Requires <ArgumentNullException>(queue != null, "queue is null"); Contract.Requires <ArgumentNullException>(channel != null, "channel is null"); Contract.Requires <ArgumentNullException>(protocol != null, "protocol is null"); Contract.Requires <ArgumentNullException>(logger != null, "logger is null"); this.Protocol = protocol; }
/// <inheritdoc/> public ExchangePublisher CreateExchangePublisher(string exchange, IGenericMessageProtocol protocol, ChannelConfiguration channelConfig) { var childLogger = this.logger.CreateChildLogger("test"); return(new ExchangePublisher(exchange, this.connection.CreateChannel <IPublishManager>(channelConfig), protocol, childLogger)); }