diff --git a/src/DotNetCore.CAP.RabbitMQ/CAP.RabbiMQOptions.cs b/src/DotNetCore.CAP.RabbitMQ/CAP.RabbiMQOptions.cs
index a701e2c..46b7a3e 100644
--- a/src/DotNetCore.CAP.RabbitMQ/CAP.RabbiMQOptions.cs
+++ b/src/DotNetCore.CAP.RabbitMQ/CAP.RabbiMQOptions.cs
@@ -82,9 +82,9 @@ namespace DotNetCore.CAP
public class QueueArgumentsOptions
{
///
- /// 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.
///
- public string QueueMode { get; set; } = "default";
+ public string QueueMode { get; set; }
///
/// Gets or sets queue message automatic deletion time (in milliseconds) "x-message-ttl", Default 864000000 ms (10 days).
diff --git a/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs b/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs
index 8f0e6a2..522132a 100644
--- a/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs
+++ b/src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs
@@ -116,9 +116,14 @@ namespace DotNetCore.CAP.RabbitMQ
var arguments = new Dictionary
{
- {"x-queue-mode", _rabbitMQOptions.QueueArguments.QueueMode},
{"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);
}
}