diff --git a/src/Lykke.RabbitMqBroker/Publisher/FanoutPublishStrategyWithConfirmations.cs b/src/Lykke.RabbitMqBroker/Publisher/FanoutPublishStrategyWithConfirmations.cs index 951af9d..01dabdb 100644 --- a/src/Lykke.RabbitMqBroker/Publisher/FanoutPublishStrategyWithConfirmations.cs +++ b/src/Lykke.RabbitMqBroker/Publisher/FanoutPublishStrategyWithConfirmations.cs @@ -10,6 +10,7 @@ namespace Lykke.RabbitMqBroker.Publisher public sealed class FanoutPublishStrategyWithConfirmations : IRabbitMqPublishStrategy { private readonly bool _durable; + private readonly TimeSpan _defaultConfirmationTimeout = TimeSpan.FromSeconds(5); public FanoutPublishStrategyWithConfirmations(RabbitMqSubscriptionSettings settings) { @@ -32,7 +33,7 @@ public void Publish(RabbitMqSubscriptionSettings settings, IModel channel, RawMe routingKey: string.Empty, basicProperties: null, body: message.Body); - channel.WaitForConfirmsOrDie(settings.PublisherConfirmationTimeout); + channel.WaitForConfirmsOrDie(settings.PublisherConfirmationTimeout ?? _defaultConfirmationTimeout); } } } diff --git a/src/Lykke.RabbitMqBroker/RabbitMqSubscriptionSettings.cs b/src/Lykke.RabbitMqBroker/RabbitMqSubscriptionSettings.cs index c997a93..1746ba6 100644 --- a/src/Lykke.RabbitMqBroker/RabbitMqSubscriptionSettings.cs +++ b/src/Lykke.RabbitMqBroker/RabbitMqSubscriptionSettings.cs @@ -12,7 +12,6 @@ public sealed class RabbitMqSubscriptionSettings { internal const string LykkeNameSpace = "lykke"; internal static TimeSpan DefaultReconnectionDelay = TimeSpan.FromSeconds(3); - internal static TimeSpan DefaultPublisherConfirmationTimeout = TimeSpan.FromSeconds(5); internal const int DefaultReconnectionsCountToAlarm = 20; public string ConnectionString { get; set; } @@ -30,17 +29,17 @@ public sealed class RabbitMqSubscriptionSettings /// public int ReconnectionsCountToAlarm { get; set; } /// - /// The confirmation period when publishing messages. - /// Default value is 5 seconds + /// The confirmation period when publishing messages. The confirmation strategy will not be used + /// unless the value is provided explicitly. Check . /// - public TimeSpan PublisherConfirmationTimeout { get; set; } + public TimeSpan? PublisherConfirmationTimeout { get; set; } public RabbitMqSubscriptionSettings() { ReconnectionDelay = DefaultReconnectionDelay; ReconnectionsCountToAlarm = DefaultReconnectionsCountToAlarm; RoutingKey = string.Empty; - PublisherConfirmationTimeout = DefaultPublisherConfirmationTimeout; + PublisherConfirmationTimeout = null; } ///