Exemple #1
0
 public Task <AsyncTaskResult> SendAsync(ICommand command)
 {
     try
     {
         return(_sendMessageService.SendMessageAsync(Producer, BuildCommandMessage(command, false), command.AggregateRootId, command.Id, null));
     }
     catch (Exception ex)
     {
         return(Task.FromResult(new AsyncTaskResult(AsyncTaskStatus.Failed, ex.Message)));
     }
 }
Exemple #2
0
 public Task <AsyncTaskResult> SendAsync(ICommand command)
 {
     try
     {
         return(_sendMessageService.SendMessageAsync(Producer, BuildCommandMessage(command, false), _commandRouteKeyProvider.GetRoutingKey(command), command.Id, null));
     }
     catch (Exception ex)
     {
         return(Task.FromResult(new AsyncTaskResult(AsyncTaskStatus.Failed, ex.Message)));
     }
 }
Exemple #3
0
        public Task PublishAsync(DomainEventStreamMessage eventStream)
        {
            Ensure.NotNull(eventStream.AggregateRootId, "aggregateRootId");
            var eventMessage  = CreateEventMessage(eventStream);
            var topic         = _eventTopicProvider.GetTopic(eventStream.Events.First());
            var data          = _jsonSerializer.Serialize(eventMessage);
            var equeueMessage = new EQueueMessage(topic, (int)EQueueMessageTypeCode.DomainEventStreamMessage, Encoding.UTF8.GetBytes(data));

            return(_sendMessageService.SendMessageAsync(Producer, "events", string.Join(",", eventStream.Events.Select(x => x.GetType().Name)), equeueMessage, data, eventStream.AggregateRootId, eventStream.Id, eventStream.Items));
        }
Exemple #4
0
 private void SendMessageAsync(EQueueMessage message, string messageJson, string routingKey, int retryTimes)
 {
     _ioHelper.TryAsyncActionRecursively <AsyncTaskResult>("PublishQueueMessageAsync",
                                                           () => _sendMessageService.SendMessageAsync(_producer, message, routingKey),
                                                           currentRetryTimes => SendMessageAsync(message, messageJson, routingKey, currentRetryTimes),
                                                           null,
                                                           () => string.Format("[message:{0}]", messageJson),
                                                           null,
                                                           retryTimes);
 }
Exemple #5
0
        public Task PublishAsync(IApplicationMessage message)
        {
            var topic         = _messageTopicProvider.GetTopic(message);
            var data          = _jsonSerializer.Serialize(message);
            var equeueMessage = new EQueueMessage(
                topic,
                (int)EQueueMessageTypeCode.ApplicationMessage,
                Encoding.UTF8.GetBytes(data),
                _typeNameProvider.GetTypeName(message.GetType()));

            return(_sendMessageService.SendMessageAsync(Producer, "applicationMessage", message.GetType().Name, equeueMessage, data, message.Id, message.Id, message.Items));
        }
Exemple #6
0
        public Task PublishAsync(IDomainException exception)
        {
            var topic            = _exceptionTopicProvider.GetTopic(exception);
            var serializableInfo = new Dictionary <string, string>();

            exception.SerializeTo(serializableInfo);
            var data = _jsonSerializer.Serialize(new DomainExceptionMessage
            {
                UniqueId         = exception.Id,
                Timestamp        = exception.Timestamp,
                Items            = exception.Items,
                SerializableInfo = serializableInfo
            });
            var equeueMessage = new EQueueMessage(
                topic,
                (int)EQueueMessageTypeCode.ExceptionMessage,
                Encoding.UTF8.GetBytes(data),
                _typeNameProvider.GetTypeName(exception.GetType()));

            return(_sendMessageService.SendMessageAsync(Producer, "exception", exception.GetType().Name, equeueMessage, data, exception.Id, exception.Id, exception.Items));
        }
        public Task <AsyncTaskResult> PublishAsync(IPublishableException exception)
        {
            var message = CreateEQueueMessage(exception);

            return(_sendMessageService.SendMessageAsync(_producer, message, exception.GetRoutingKey() ?? exception.Id, exception.Id, null));
        }
Exemple #8
0
        public Task <AsyncTaskResult> PublishAsync(IApplicationMessage message)
        {
            var queueMessage = CreateEQueueMessage(message);

            return(_sendMessageService.SendMessageAsync(_producer, queueMessage, message.GetRoutingKey() ?? message.Id, message.Id, null));
        }
Exemple #9
0
        public Task <AsyncTaskResult> PublishAsync(DomainEventStreamMessage eventStream)
        {
            var message = CreateEQueueMessage(eventStream);

            return(_sendMessageService.SendMessageAsync(_producer, message, eventStream.GetRoutingKey() ?? eventStream.AggregateRootId));
        }
        public Task <AsyncTaskResult> PublishAsync(IDomainException exception)
        {
            var message = CreateEQueueMessage(exception);

            return(_sendMessageService.SendMessageAsync(Producer, "exception", exception.GetType().Name, message, exception.Id, exception.Id, exception.Items));
        }
Exemple #11
0
        public Task PublishAsync(IApplicationMessage message)
        {
            var queueMessage = CreateEQueueMessage(message);

            return(_sendMessageService.SendMessageAsync(Producer, "applicationMessage", message.GetType().Name, queueMessage, message.Id, message.Id, message.Items));
        }
        public Task <AsyncTaskResult> PublishAsync(DomainEventStreamMessage eventStream)
        {
            var message = CreateEQueueMessage(eventStream);

            return(_sendMessageService.SendMessageAsync(Producer, "events", string.Join(",", eventStream.Events.Select(x => x.GetType().Name)), message, eventStream.AggregateRootId, eventStream.Id, eventStream.Items));
        }
Exemple #13
0
 public Task SendAsync(ICommand command)
 {
     return(_sendMessageService.SendMessageAsync(Producer, "command", command.GetType().Name, BuildCommandMessage(command, false), command.AggregateRootId, command.Id, command.Items));
 }
        public Task <AsyncTaskResult> PublishAsync(DomainEventStreamMessage eventStream)
        {
            var message = CreateEQueueMessage(eventStream);

            return(_sendMessageService.SendMessageAsync(Producer, message, eventStream.AggregateRootId, eventStream.Id, eventStream.Version.ToString()));
        }
Exemple #15
0
        public Task SendAsync(ICommand command)
        {
            var equeueMessage = BuildCommandMessage(command, out string messageBody, false);

            return(_sendMessageService.SendMessageAsync(Producer, "command", command.GetType().Name, equeueMessage, messageBody, command.AggregateRootId, command.Id, command.Items));
        }