IDispatcherQueueManagerService
IDispatcherQueueManagerService
in assembly SanteDB.Core.Api version 3.0.1980.0
Summary
A service which is responsible for storing messages in a reliable place for dispatching
Description
Whenever SanteDB sends messages to another system using messaging, there is no guarantee that the remote endpoint will be available, or accessable, etc. Therefore all messages which are sent (dispatched) to a remote system are first queued using this wrapper service.
The purpose of the dispatcher queue is the store the outbound message locally in some persistent place, then to notify any listeners that a new message is ready for sending. If the message cannot be sent, then the sending service should place the message back onto the queue or onto a dedicated deadletter queue.
Operations
Open
void
String queueName
Opens the specified queue name and enables subscriptions
SubscribeTo
void
String queueName DispatcherQueueCallback callback
Subscribes to using
UnSubscribe
void
String queueName DispatcherQueueCallback callback
Remove the callback registration
Enqueue
void
String queueName Object data
Enqueue the specified data to the persistent queue
Dequeue
DispatcherQueueEntry
String queueName
Dequeues the last added item from the persistent queue
DequeueById
DispatcherQueueEntry
String queueName String correlationId
De-queue a specific message
Purge
void
String queueName
Purge the queue
Move
DispatcherQueueEntry
DispatcherQueueEntry entry String toQueue
Move an entry from one queue to another
GetQueueEntry
DispatcherQueueEntry
String queueName String correlationId
Get the specified queue entry
GetQueues
IEnumerable<DispatcherQueueInfo>
none
TODO
GetQueueEntries
IEnumerable<DispatcherQueueEntry>
String queueName
Get all queue entries
Implementations
FileSystemDispatcherQueueService - (SanteDB.Core.Api)
A persistent queue service that uses the file system (use when there's no other infrastructure)
Service Registration
MsmqPersistentQueueService - (SanteDB.Queue.Msmq)
TODO: Document this
Service Registration
RabbitMqService - (SanteDB.Queue.RabbitMq)
An implementation of the IDispatcherQueueManagerService which uses RabbitMQ as the queue managing service
Description
This queue service uses RabbitMQ to manage queues and loading/unloading of items to queues.
Service Registration
Example Implementation
References
Last updated