Browse Source

support multiple topic subscribe.

master
Savorboard 7 years ago
parent
commit
96ff6a5543
1 changed files with 11 additions and 10 deletions
  1. +11
    -10
      src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs

+ 11
- 10
src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs View File

@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
@@ -51,6 +52,16 @@ namespace DotNetCore.CAP.RabbitMQ
_channel.QueueDeclare(_queueName, exclusive: false);
}

public void Subscribe(IEnumerable<string> topics)
{
if (topics == null) throw new ArgumentNullException(nameof(topics));

foreach (var topic in topics)
{
_channel.QueueBind(_queueName, _exchageName, topic);
}
}

public void Listening(TimeSpan timeout, CancellationToken cancellationToken)
{
var consumer = new EventingBasicConsumer(_channel);
@@ -63,16 +74,6 @@ namespace DotNetCore.CAP.RabbitMQ
}
}

public void Subscribe(string topic)
{
_channel.QueueBind(_queueName, _exchageName, topic);
}

public void Subscribe(string topic, int partition)
{
_channel.QueueBind(_queueName, _exchageName, topic);
}

public void Commit()
{
_channel.BasicAck(_deliveryTag, false);


Loading…
Cancel
Save