public void Send <T>(T msg, string routeKey) { RefreshQueues(); var matchingQueues = MessageExchangeDeclaration.BindMessageToQueues(routeKey, _exchangeType, _queues); foreach (var q in matchingQueues) { var outbox = new FDMessageOutbox(_busName, _exchangeName, q); outbox.Enqueue(msg); outbox.Send(); } }
public void Send <T>(T msg, string routeKey) { RefreshQueues(); var matchingQueues = MessageExchangeDeclaration.BindMessageToQueues(routeKey, _exchangeType, _queues); foreach (var q in matchingQueues) { using (var outbox = new MemoryMappedTransferOutbox(q)) { outbox.Enqueue(new MessageQueueEnvelope(msg)); outbox.Send(); } } }
public void Send <T>(T msg, string routeKey) { RefreshQueues(); var matchingQueues = MessageExchangeDeclaration.BindMessageToQueues(routeKey, _exchangeType, _queues); foreach (var q in matchingQueues) { var queue = _queues.FirstOrDefault(s => s.Name == q); var outbox = queue as IMemQueueAccess; if (null != outbox) { outbox.Queue.Enqueue(new LightMessageQueueEnvelope(msg)); outbox.SentEvent.Set(); } } }