@@ -82,9 +82,9 @@ namespace DotNetCore.CAP | |||||
public class QueueArgumentsOptions | public class QueueArgumentsOptions | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// Gets or sets queue mode by supplying the 'x-queue-mode' declaration argument with a string specifying the desired mode. Default 'default' | |||||
/// Gets or sets queue mode by supplying the 'x-queue-mode' declaration argument with a string specifying the desired mode. | |||||
/// </summary> | /// </summary> | ||||
public string QueueMode { get; set; } = "default"; | |||||
public string QueueMode { get; set; } | |||||
/// <summary> | /// <summary> | ||||
/// Gets or sets queue message automatic deletion time (in milliseconds) "x-message-ttl", Default 864000000 ms (10 days). | /// Gets or sets queue message automatic deletion time (in milliseconds) "x-message-ttl", Default 864000000 ms (10 days). | ||||
@@ -116,9 +116,14 @@ namespace DotNetCore.CAP.RabbitMQ | |||||
var arguments = new Dictionary<string, object> | var arguments = new Dictionary<string, object> | ||||
{ | { | ||||
{"x-queue-mode", _rabbitMQOptions.QueueArguments.QueueMode}, | |||||
{"x-message-ttl", _rabbitMQOptions.QueueArguments.MessageTTL} | {"x-message-ttl", _rabbitMQOptions.QueueArguments.MessageTTL} | ||||
}; | }; | ||||
if (!string.IsNullOrEmpty(_rabbitMQOptions.QueueArguments.QueueMode)) | |||||
{ | |||||
arguments.Add("x-queue-mode", _rabbitMQOptions.QueueArguments.QueueMode); | |||||
} | |||||
_channel.QueueDeclare(_queueName, durable: true, exclusive: false, autoDelete: false, arguments: arguments); | _channel.QueueDeclare(_queueName, durable: true, exclusive: false, autoDelete: false, arguments: arguments); | ||||
} | } | ||||
} | } | ||||