Browse Source

Add more Arguments to AbpRabbitMqEventBusOptions

pull/18294/head
liangshiwei 3 years ago
parent
commit
b030933ff5
  1. 9
      framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/AbpRabbitMqEventBusOptions.cs
  2. 6
      framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/RabbitMqDistributedEventBus.cs
  3. 5
      framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ExchangeDeclareConfiguration.cs
  4. 5
      framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/QueueDeclareConfiguration.cs

9
framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/AbpRabbitMqEventBusOptions.cs

@ -1,4 +1,5 @@
using Volo.Abp.RabbitMQ; using System.Collections.Generic;
using Volo.Abp.RabbitMQ;
namespace Volo.Abp.EventBus.RabbitMq; namespace Volo.Abp.EventBus.RabbitMq;
@ -13,9 +14,13 @@ public class AbpRabbitMqEventBusOptions
public string ExchangeName { get; set; } = default!; public string ExchangeName { get; set; } = default!;
public string? ExchangeType { get; set; } public string? ExchangeType { get; set; }
public ushort? PrefetchCount { get; set; } public ushort? PrefetchCount { get; set; }
public IDictionary<string, object> QueueArguments { get; set; } = new Dictionary<string, object>();
public IDictionary<string, object> ExchangeArguments { get; set; } = new Dictionary<string, object>();
public string GetExchangeTypeOrDefault() public string GetExchangeTypeOrDefault()
{ {
return string.IsNullOrEmpty(ExchangeType) return string.IsNullOrEmpty(ExchangeType)

6
framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/RabbitMqDistributedEventBus.cs

@ -79,14 +79,16 @@ public class RabbitMqDistributedEventBus : DistributedEventBusBase, ISingletonDe
new ExchangeDeclareConfiguration( new ExchangeDeclareConfiguration(
AbpRabbitMqEventBusOptions.ExchangeName, AbpRabbitMqEventBusOptions.ExchangeName,
type: AbpRabbitMqEventBusOptions.GetExchangeTypeOrDefault(), type: AbpRabbitMqEventBusOptions.GetExchangeTypeOrDefault(),
durable: true durable: true,
arguments: AbpRabbitMqEventBusOptions.ExchangeArguments
), ),
new QueueDeclareConfiguration( new QueueDeclareConfiguration(
AbpRabbitMqEventBusOptions.ClientName, AbpRabbitMqEventBusOptions.ClientName,
durable: true, durable: true,
exclusive: false, exclusive: false,
autoDelete: false, autoDelete: false,
prefetchCount: AbpRabbitMqEventBusOptions.PrefetchCount prefetchCount: AbpRabbitMqEventBusOptions.PrefetchCount,
arguments: AbpRabbitMqEventBusOptions.QueueArguments
), ),
AbpRabbitMqEventBusOptions.ConnectionName AbpRabbitMqEventBusOptions.ConnectionName
); );

5
framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ExchangeDeclareConfiguration.cs

@ -18,12 +18,13 @@ public class ExchangeDeclareConfiguration
string exchangeName, string exchangeName,
string type, string type,
bool durable = false, bool durable = false,
bool autoDelete = false) bool autoDelete = false,
IDictionary<string, object>? arguments = null)
{ {
ExchangeName = exchangeName; ExchangeName = exchangeName;
Type = type; Type = type;
Durable = durable; Durable = durable;
AutoDelete = autoDelete; AutoDelete = autoDelete;
Arguments = new Dictionary<string, object>(); Arguments = arguments?? new Dictionary<string, object>();
} }
} }

5
framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/QueueDeclareConfiguration.cs

@ -23,13 +23,14 @@ public class QueueDeclareConfiguration
bool durable = true, bool durable = true,
bool exclusive = false, bool exclusive = false,
bool autoDelete = false, bool autoDelete = false,
ushort? prefetchCount = null) ushort? prefetchCount = null,
IDictionary<string, object>? arguments = null)
{ {
QueueName = queueName; QueueName = queueName;
Durable = durable; Durable = durable;
Exclusive = exclusive; Exclusive = exclusive;
AutoDelete = autoDelete; AutoDelete = autoDelete;
Arguments = new Dictionary<string, object>(); Arguments = arguments?? new Dictionary<string, object>();
PrefetchCount = prefetchCount; PrefetchCount = prefetchCount;
} }

Loading…
Cancel
Save