send method
Send method are sends a message into the _queue. Parameters:
correlationId
(optional) transaction id to trace execution through call chain.message
a message envelop to be sent. Return Future that recive null if all ok Throws error
Implementation
@override
Future send(String? correlationId, MessageEnvelope message) async {
_checkOpened(correlationId);
var messageProperties = amqp.MessageProperties();
messageProperties.contentType = 'text/plain';
if (message.correlation_id != null) {
messageProperties.corellationId = message.correlation_id;
}
if (message.message_id != null && message.message_id.isNotEmpty) {
messageProperties.messageId = message.message_id;
}
messageProperties.persistent = _persistent;
if (message.message_type != null) {
messageProperties.type = message.message_type;
}
_queue!.publish(message.message!, properties: messageProperties);
counters.incrementOne('_queue.' + name + '.sent_messages');
logger.debug(
message.correlation_id, 'Sent message %s via %s', [message, this]);
}