Subscriptions: RabbitMQ provider
First version of RabbitMQ PubSub. Key assumptions are:
- Rabbit topics are not used
- HC topic is represented by a Rabbit exchange
- For every HC topic, each HC instance holds a Rabbit consumer (n topics and m instances -> n*m consumers)
- Every consumer has an exclusive queue to an exchange (n topics and m instances -> n*m consumers -> n*m queues)
- Single consumer consumes only one queue (queue is exclusive)
- Niether exchanges nor queues are durable
- Behaviour above can be changed directly in
ConfigDTO and/or by overridingIExchangeNameFactoryandIQueueNameFactory
Schema how messages are distributed (illustrates that ISourceStream does not directly connect to RabbitMQ):

@michaelstaib I have inspected the issue reported by code analyzer, it seemst that it is caused by tests in namespace StrawberryShake.CodeGeneration.CSharp.Analyzers.CustomScalar as there is
public static class DependencyInjection
{
public static void Configure(IServiceCollection services)
{
services.AddCustomScalarClient();
}
}
But method AddCustomScalarClient does not exist. Is si supposed to get generated? If so, it does not happen.
@Deathrage I am working on the code gen issue with strawberry shake ... so no worries. It started to happen when we moved to .net 7.
We have reworked the subscription system and implemented this driver now with a separate PR.