C# Класс SevenDigital.Messaging.MessageReceiving.RabbitPolling.RabbitMqPollingNode

A pull-based, polling, blocking RabbitMQ work item queue
Наследование: ITypedPollingNode
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
AddMessageType ( Type type ) : void

Add a message type that might be bound to the endpoint. This is used to rebuild endpoints in case of failure.

BlockUntilReady ( ) : bool

Advisory method: block if the queue is waiting to be populated.

Enqueue ( IPendingMessage work ) : void

Not currently implemented. Will throw an exception.

This might be useful at some point to inject test messages?

Length ( ) : int

Approximate snapshot length

RabbitMqPollingNode ( IRoutingEndpoint endpoint, IMessagingBase messagingBase, ISleepWrapper sleeper ) : System

Create a work item queue that will try to pull items from a named RabbitMQ endpoint

Stop ( ) : void

Stop receiving messages

TryDequeue ( ) : IWorkQueueItem>

Try and get an item from this queue. Success is encoded in the WQI result 'HasItem'

Приватные методы

Метод Описание
DoubleAck ( Exception exception ) : bool
EnsureQueuesAndPollForMessage ( ) : IPendingMessage
IsMissingQueue ( Exception exception ) : bool
SleepingGetMessage ( ) : IPendingMessage
TryRebuildQueues ( ) : void

Описание методов

AddMessageType() публичный Метод

Add a message type that might be bound to the endpoint. This is used to rebuild endpoints in case of failure.
public AddMessageType ( Type type ) : void
type System.Type
Результат void

BlockUntilReady() публичный Метод

Advisory method: block if the queue is waiting to be populated.
public BlockUntilReady ( ) : bool
Результат bool

Enqueue() публичный Метод

Not currently implemented. Will throw an exception.
This might be useful at some point to inject test messages?
public Enqueue ( IPendingMessage work ) : void
work IPendingMessage
Результат void

Length() публичный Метод

Approximate snapshot length
public Length ( ) : int
Результат int

RabbitMqPollingNode() публичный Метод

Create a work item queue that will try to pull items from a named RabbitMQ endpoint
public RabbitMqPollingNode ( IRoutingEndpoint endpoint, IMessagingBase messagingBase, ISleepWrapper sleeper ) : System
endpoint IRoutingEndpoint Destination endpoint to pull messages from
messagingBase IMessagingBase RabbitMQ connection provider
sleeper ISleepWrapper Sleeper to rate limit polling
Результат System

Stop() публичный Метод

Stop receiving messages
public Stop ( ) : void
Результат void

TryDequeue() публичный Метод

Try and get an item from this queue. Success is encoded in the WQI result 'HasItem'
public TryDequeue ( ) : IWorkQueueItem>
Результат IWorkQueueItem>