Click or drag to resize

IDispatcherQueueManagerService Interface

A service which is responsible for storing messages in a reliable place for dispatching

Namespace: SanteDB.Core.Queue
Assembly: SanteDB.Core.Api (in SanteDB.Core.Api.dll) Version: 3.0.2081-alpha+b4ae72647f2cc271f89142f76fff26ad69e00f5a
Syntax
public interface IDispatcherQueueManagerService : IServiceImplementation

The IDispatcherQueueManagerService type exposes the following members.

Properties
 NameDescription
Public propertyServiceName Gets the service name
(Inherited from IServiceImplementation)
Top
Methods
 NameDescription
Public methodDequeue Dequeues the last added item from the persistent queue
Public methodDequeueById De-queue a specific message
Public methodEnqueue Enqueue the specified data to the persistent queue
Public methodGetQueueEntries Get all queue entries
Public methodGetQueueEntry Get the specified queue entry
Public methodGetQueues Gets the queues for this system
Public methodMove Move an entry from one queue to another
Public methodOpen Opens the specified queue name and enables subscriptions
Public methodPurge Purge the queue
Public methodSubscribeTo Subscribes to queueName using callback
Public methodUnSubscribe Remove the callback registration
Top
Extension Methods
 NameDescription
Public Extension MethodTryDequeue Tries to dequeue a message from the dispatcher queue. Returns true if successful, false otherwise.
(Defined by ExtensionMethods)
Top
Remarks
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.

See Also