public Task Consume(ConsumeContext <TestInfo> context)
        {
            var message = context.Message;

            if (context.GetRetryCount() < 5)
            {
                Console.WriteLine("测试第{0}次", context.GetRetryCount());
                throw new Exception("测试异常重试!");
            }


            return(Task.Run(() =>
            {
                Console.WriteLine("time:{0},name:{1},age:{2}", DateTime.Now, message.Name, message.Age);
            }));
        }
Exemple #2
0
            public Task Consume(ConsumeContext <PingMessage> context)
            {
                Interlocked.Increment(ref Attempts);

                LastAttempt = context.GetRetryAttempt();
                LastCount   = context.GetRetryCount();

                throw new IntentionalTestException();
            }
Exemple #3
0
        public async Task Consume(ConsumeContext <ISimpleMessage> context)
        {
            var retryAttempt    = context.GetRetryAttempt();
            var retryCount      = context.GetRetryCount();
            var redeliveryCount = context.GetRedeliveryCount();

            logger.LogInformation("Message: {0} CreationDateTime: {1}", context.Message.Message, context.Message.CreationDateTime);
            logger.LogInformation("RetryAttempt: {0} RetryCount: {1} RedeliveryCount: {2}", retryAttempt, retryCount, redeliveryCount);

            if (context.Message.Message.Contains("error", StringComparison.InvariantCultureIgnoreCase))
            {
                throw new ApplicationException("Invalid message content!");
            }
        }
 public Task Consume(ConsumeContext <MyMessage> context)
 {
     return(Task.Run(() =>
     {
         Console.WriteLine("次数:{0}", context.GetRetryCount());
         if (DateTime.Now.Second % 2 == 0)
         {
             Console.WriteLine("Customer address was updated: {0},from comsume", context.Message.CustomerId);
         }
         else
         {
             Console.WriteLine("exception occured, time : {0}", DateTime.Now);
             throw new Exception();
         }
         //context.Publish(new MyMessage()
         //{
         //    CustomerId = DateTime.Now.Second.ToString()
         //});
     }));
 }
        public async Task Consume(ConsumeContext <Fault <PayOrderEvent> > context)
        {
            var retryCount = context.GetRetryCount();

            if (retryCount == 5)
            {
                if (EndpointConvention.TryGetDestinationAddress <PayOrderEvent>(out Uri endPointUrl))
                {
                    await context.Forward(endPointUrl);
                }
            }
            else
            {
                var exceptions = context.Message.Exceptions;

                foreach (var exceptionInfo in exceptions)
                {
                    await Execute(context, exceptionInfo);
                }
            }
        }
Exemple #6
0
        public Task Consume(ConsumeContext <NotifySomethingHappened> context)
        {
            var id   = $"[happeningId:{context.Message.HappeningId}]";
            var hap  = $"[whatHappened:{context.Message.WhatHappened}]";
            var redC = $"[redeliveryCount:{context.GetRedeliveryCount()}]";
            var retA = $"[retryAttempt:{context.GetRetryAttempt()}]";
            var retC = $"[retryCount:{context.GetRetryCount()}]";
            var ten  = $"[tenantId:{context.Headers.Get<string>("tenant-id")}]";

            _logger.LogInformation($"Consuming NotifySomethingHappened {id}{hap}{ten}{redC}{retA}{retC}");

            if (string.IsNullOrWhiteSpace(context.Message.WhatHappened))
            {
                throw new Exception("No happening");
            }

            if (context.Message.WhatHappened.Contains("redeliver"))
            {
                throw new CanNotCurrentlyProcessException(context.Message.WhatHappened);
            }

            return(Task.CompletedTask);
        }
        public async Task Consume(ConsumeContext <MyMessage> context)
        {
            Console.WriteLine($"Received message {context.Message.Xml} with retry count {context.GetRetryCount()} with correlationid {context.Headers.FirstOrDefault(x => x.Key == "CorrelationId").Value}");
            var xmlSerializer = new XmlSerializer(typeof(Person));
            var streamReader  = new XmlTextReader(new MemoryStream(Encoding.UTF8.GetBytes(context.Message.Xml)));

            streamReader.Namespaces = false;
            var person = (Person)xmlSerializer.Deserialize(streamReader);

            Console.WriteLine($"First name is {person.FirstName}");
            throw new Exception();
        }