Is it possible to subscribe to receive messages from multiple streams with a single consumer in RabbitMQ?
I have the following code to subscribe to a single stream and this works correctly. Is it possible to have similar code to subscribe to multiple streams with single consumer, or are multiple consumer required?
using RabbitMQ.Stream.Client;
using RabbitMQ.Stream.Client.Reliable;
var streamSystem = await StreamSystem.Create(
new StreamSystemConfig()
{
UserName = "guest",
Password = "guest",
Endpoints = new List<EndPoint>
{
new IPEndPoint(IPAddress.Parse("127.0.0.1"), 5552)
}
}
).ConfigureAwait(false);
var confirmationTaskCompletionSource = new TaskCompletionSource<int>();
var consumer = await Consumer.Create( // (1)
new ConsumerConfig( // (2)
streamSystem,
"my-stream")
{
OffsetSpec = new OffsetTypeFirst(), // (3)
MessageHandler = async (stream, consumer, context, message) => // (4)
{
Console.WriteLine($"Received message.");
await Task.CompletedTask.ConfigureAwait(false);
}
}
).ConfigureAwait(false);