Beispiel #1
0
        public Message Serialize <TContent>(MQTypedMessage <Message, TContent> typedMessage)
            where TContent : class
        {
            typedMessage.Message.BodyString = JsonSerializer.Serialize(typedMessage.Content, _serializerOptions);

            return(typedMessage.Message);
        }
        public async Task <bool> Consume(MQTypedMessage <MessageExt, Order_Create> typedMessage)
        {
            await Task.Yield();

            _logger.LogInformation($"接收下单消息,接收时间:{DateTime.UtcNow}, 订单号:{typedMessage.Content.OrderNo}, 下单时间:{typedMessage.Content.CreateTime}");

            return(true);
        }
        public SendResult Publish <TContent>(TContent content, Action <IRocketMQMessageBuilder> msgConfigure = null)
            where TContent : class
        {
            if (content == null)
            {
                throw new ArgumentNullException(nameof(content));
            }

            var messageBuilder = new RocketMQMessageBuilder();

            msgConfigure?.Invoke(messageBuilder);

            var typedMessage = new MQTypedMessage <Message, TContent>
            {
                Content = content,
                Message = messageBuilder.Build()
            };

            var message = _messageSerializer.Serialize(typedMessage);

            return(_innerProducer.Publish(message));
        }
Beispiel #4
0
 public MQTypedConsumerContext(MQTypedMessage <TMessage, TContent> typedMessage, TMessageConsumer typedMessageConsumer)
 {
     TypedMessage         = typedMessage;
     TypedMessageConsumer = typedMessageConsumer;
 }