MemoryMessageQueue class

Message queue that sends and receives messages within the same process by using shared memory.

This queue is typically used for testing to mock real queues.

Configuration parameters

  • name: name of the message queue

References

  • *:logger:*:*:1.0 (optional) ILogger components to pass log messages
  • *:counters:*:*:1.0 (optional) ICounters components to pass collected measurements

See MessageQueue See MessagingCapabilities

Example

var queue = MessageQueue("myqueue");

await queue.send("123", MessageEnvelop(null, "mymessage", "ABC"));

var message = await queue.receive("123");
if (message != null) {
   ...
   await queue.complete("123", message);
}
Inheritance

Constructors

MemoryMessageQueue([String name ])
Creates a new instance of the message queue. [...]

Properties

capabilities MessagingCapabilities
read / write, inherited
connectionResolver ↔ ConnectionResolver
read / write, inherited
counters ↔ CompositeCounters
read / write, inherited
credentialResolver ↔ CredentialResolver
read / write, inherited
hashCode → int
The hash code for this object. [...]
read-only, inherited
logger ↔ CompositeLogger
read / write, inherited
name ↔ String
read / write, inherited
runtimeType → Type
A representation of the runtime type of the object.
read-only, inherited

Methods

abandon(MessageEnvelope message) → Future
Returnes message into the queue and makes it available for all subscribers to receive it again. This method is usually used to return a message which could not be processed at the moment to repeat the attempt. Messages that cause unrecoverable errors shall be removed permanently or/and send to dead letter queue. [...]
override
clear(String correlationId) → Future
Clears component state. [...]
override
close(String correlationId) → Future
Closes component and frees used resources. [...]
override
complete(MessageEnvelope message) → Future
Permanently removes a message from the queue. This method is usually used to remove the message after successful processing. [...]
override
endListen(String correlationId) → void
Ends listening for incoming messages. When this method is call [listen] unblocks the thread and execution continues. [...]
override
isOpen() → bool
Checks if the component is opened. [...]
override
listen(String correlationId, IMessageReceiver receiver) → void
Listens for incoming messages and blocks the current thread until queue is closed. [...]
override
moveToDeadLetter(MessageEnvelope message) → Future
Permanently removes a message from the queue and sends it to dead letter queue. [...]
override
openWithParams(String correlationId, ConnectionParams connection, CredentialParams credential) → Future
Opens the component with given connection and credential parameters. [...]
override
peek(String correlationId) → Future<MessageEnvelope>
Peeks a single incoming message from the queue without removing it. If there are no messages available in the queue it returns null. [...]
override
peekBatch(String correlationId, int messageCount) → Future<List<MessageEnvelope>>
Peeks multiple incoming messages from the queue without removing them. If there are no messages available in the queue it returns an empty list. [...]
override
readMessageCount() → Future<int>
Reads the current number of messages in the queue to be delivered. [...]
override
receive(String correlationId, int waitTimeout) → Future<MessageEnvelope>
Receives an incoming message and removes it from the queue. [...]
override
renewLock(MessageEnvelope message, int lockTimeout) → Future
Renews a lock on a message that makes it invisible from other receivers in the queue. This method is usually used to extend the message processing time. [...]
override
send(String correlationId, MessageEnvelope envelope) → Future
Sends a message into the queue. [...]
override
beginListen(String correlationId, IMessageReceiver receiver) → void
Listens for incoming messages without blocking the current thread. [...]
inherited
configure(ConfigParams config) → void
Configures component by passing configuration parameters. [...]
inherited
getCapabilities() MessagingCapabilities
Gets the queue capabilities [...]
inherited
getName() → String
Gets the queue name [...]
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
open(String correlationId) → Future
Opens the component. [...]
inherited
sendAsObject(String correlationId, String messageType, dynamic message) → Future
Sends an object into the queue. Before sending the object is converted into JSON string and wrapped in a [MessageEnvelop]. [...]
inherited
setReferences(IReferences references) → void
Sets references to dependent components. [...]
inherited
toString() → String
Gets a string representation of the object. [...]
inherited

Operators

operator ==(dynamic other) → bool
The equality operator. [...]
inherited