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;
using System.Collections.Generic;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -51,6 +52,16 @@ namespace DotNetCore.CAP.RabbitMQ
_channel.QueueDeclare(_queueName, exclusive: false); _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) public void Listening(TimeSpan timeout, CancellationToken cancellationToken)
{ {
var consumer = new EventingBasicConsumer(_channel); 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() public void Commit()
{ {
_channel.BasicAck(_deliveryTag, false); _channel.BasicAck(_deliveryTag, false);


Loading…
Cancel
Save