@@ -14,7 +14,9 @@ Please read the [Introduction](intro.md) before reading this provider documentat
14
14
- [ Consumer Concurrency Level] ( #consumer-concurrency-level )
15
15
- [ Request-Response] ( #request-response )
16
16
- [ Topology Provisioning] ( #topology-provisioning )
17
- - [ Not Supported] ( #not-supported )
17
+ - [ Default Exchange] ( #default-exchange )
18
+ - [ Why it exists] ( #why-it-exists )
19
+ - [ Connection Resiliency] ( #connection-resiliency )
18
20
- [ Recipes] ( #recipes )
19
21
- [ 01 Multiple consumers on the same queue with different concurrency] ( #01-multiple-consumers-on-the-same-queue-with-different-concurrency )
20
22
- [ Feedback] ( #feedback )
@@ -362,7 +364,7 @@ services.AddSlimMessageBus((mbb) =>
362
364
Avoiding the call `applyDefaultTopology ()` will suppress the SMB inferred topology creation .
363
365
This might be useful in case the SMB inferred topology is not desired or there are other custom needs .
364
366
365
- ### Default Exchange
367
+ ## Default Exchange
366
368
367
369
In RabbitMQ , the default exchange (sometimes referred to as the default direct exchange ) is a pre -declared , nameless direct exchange with a special behavior :
368
370
@@ -374,16 +376,6 @@ This means:
374
376
375
377
- When you publish a message to the default exchange (exchange name = `" " `) with a routing key set to the queue name , the message is delivered directly to that queue — no explicit binding is needed .
376
378
377
- Example :
378
-
379
- ```csharp
380
- channel .basic_publish (
381
- exchange : " " , // default exchange
382
- routing_key : " my_queue" , // must match the queue name
383
- body : Encoding .UTF8 .GetBytes (" Hello World!" )
384
- );
385
- ```
386
-
387
379
This will deliver the message straight to the `my_queue ` queue .
388
380
389
381
### Why it exists
@@ -397,6 +389,16 @@ The default exchange makes it easy to send messages directly to a queue without
397
389
- Auto - binds every queue by its own name .
398
390
- Messages published to it must use the queue ’s name as the routing key .
399
391
392
+ ## Connection Resiliency
393
+
394
+ The `RabbitMqChannelManager ` provides enhanced connection resilience :
395
+
396
+ - ** Continuous Retry ** : Unlike the previous 3 - attempt limit , the connection now retries indefinitely in the background
397
+ - ** Automatic Recovery ** : Integrates with RabbitMQ 's built-in automatic recovery features
398
+ - ** Connection Monitoring ** : Monitors connection shutdown events and triggers reconnection
399
+ - ** Health Integration ** : The health check provides visibility into connection retry status
400
+ - ** Thread - Safe Operations ** : All channel operations are properly synchronized
401
+
400
402
## Recipes
401
403
402
404
### 01 Multiple consumers on the same queue with different concurrency
0 commit comments