RabbitMQ.Client.Core.DependencyInjection
RabbitMQ.Client.Core.DependencyInjection copied to clipboard
Can't Produce and Consume messages in same application
I Have use case where I need to consume message, make some work and push it back to other queues. The problem is that DI container have some strange behavior in Worker application.
services
//.AddRabbitMqClient(rabbitConnection)
.AddRabbitMqConsumingClientSingleton(rabbitConnection)
.AddConsumptionExchange("exchange", consumption.ExchangeOptions)
.AddMessageHandlerSingleton<MessageHandler>("RKey", "exchange");
services.AddHostedService<ConsumingService>();
When I try to use AddRabbitMqClient(rabbitConnection) It will inject IQueueService, but application wont start,

managed to make work around by injecting .AddRabbitMqConsumingClientSingleton(rabbitConnection), because it injects only IConsuming service and then application starts successfully (MessageHandlerSingleton)

But when I Added .AddRabbitMqProducingClientSingleton(rabbitConnection) It fails.
First of all it will not inject IQueueService we can check that in IServiceCollection List, so I can reach produce methods only by injecting IProduceService to send some messages to rabbit.
services
.AddRabbitMqConsumingClientSingleton(rabbitConnection)
.AddRabbitMqProducingClientSingleton(rabbitConnection)
.AddProductionExchange("exchange", production.ExchangeOptions)
.AddConsumptionExchange("exchange", consumption.ExchangeOptions)
.AddMessageHandlerSingleton<MessageHandler>("RKey", "exchange");
Consuming still works after adding ProducingClientSingleton
But When I try to inject IProducingService producingService to Message Handler application freezes and DI container do not construct MessageHandler Singleton and ConsumingService anymore and there is no any error messages. :/
I am trying to make connection to the same server but different exchanges, maybe I have missed something in the documentation ?
RabbitMQ.Client.Core.DependencyInjection V4.3.0
.Net core 3.1
I am seeing this too. Interested to hear the outcome!
any updates on this issue?
I'll try to take a look at this next week
@AntonyVorontsov any update?