SubscriberBoundDescriptor¶
SubscriberBoundDescriptor is the primary descriptor used to configure subscriber topology and runtime behavior.
It defines:
- queue configuration;
- exchange binding;
- consumer settings;
- retry behavior;
- channel event monitoring.
Purpose¶
A subscriber descriptor describes how messages are consumed.
graph LR
SubscriberBoundDescriptor --> Subscriber
Subscriber --> RabbitMQ
High-Level Model¶
classDiagram
class SubscriberBoundDescriptor
class QueueDescriptor
class ExchangeDescriptor
class BinderDescriptor
class RetryPolicyDescriptor
SubscriberBoundDescriptor --> QueueDescriptor
SubscriberBoundDescriptor --> ExchangeDescriptor
SubscriberBoundDescriptor --> BinderDescriptor
SubscriberBoundDescriptor --> RetryPolicyDescriptor
Properties¶
| Property | Description |
|---|---|
| Queue | Queue configuration. |
| Exchange | Exchange configuration. |
| Binder | Binding configuration. |
| PrefetchCount | Maximum number of unacknowledged messages. |
| RetryPolicy | Consumer retry configuration. |
| EnableChannelEvents | Enables RabbitMQ channel events. |
Queue Configuration¶
Queue = new QueueDescriptor
{
Name = "orders.created"
};
Exchange Configuration¶
Exchange = new ExchangeDescriptor
{
Name = "orders",
Type = ExchangeTypes.Direct
};
Binding Configuration¶
Binder = new BinderDescriptor
{
RoutingKey = "orders.created"
};
Prefetch Count¶
Controls message delivery concurrency.
PrefetchCount = 10;
See:
How To / Consuming / Configure Prefetch Count
Retry Policy¶
Consumer retries are configured through:
RetryPolicy = new RetryPolicyDescriptor()
The descriptor is documented in:
Retry And Delivery Descriptors
Channel Events¶
Channel monitoring can be enabled.
EnableChannelEvents = true
Applications can subscribe to:
subscriber.OnChannelEventFired
See:
How To / Consuming / Channel Events
Runtime Behavior¶
graph LR
RabbitMQ
Queue
Subscriber
RabbitMQ --> Queue
Queue --> Subscriber
Related Descriptors¶
- QueueDescriptor
- ExchangeDescriptor
- BinderDescriptor
- RetryPolicyDescriptor