예제 #1
0
        /// <summary>
        /// Handles incoming message.
        /// </summary>
        /// <param name="context">Consuming context.</param>
        public void Handle(IConsumingContext <T> context)
        {
            BusProcessingContext.Current = new BusProcessingContext(((IDeliveryContext)context).Delivery);

            this.@operator
            .Apply(context.Message)
            .ForEach(m => context.Bus.Emit(m.Label, m.Payload, m.Headers));

            context.Accept();
        }
예제 #2
0
        /// <inheritdoc />
        public void Handle(IConsumingContext <T> context)
        {
            BusProcessingContext.Current = new BusProcessingContext(((IDeliveryContext)context).Delivery, context.Bus);

            this.@operator
            .Apply(context.Message)
            .ForEach(
                m =>
            {
                var headers = new Dictionary <string, object>(m.Headers);
                Headers.ApplyBreadcrumbs(headers, context.Bus.Endpoint.Address);
                Headers.ApplyOriginalMessageId(headers);
                context.Bus.Emit(m.Label, m.Payload, headers);
            });

            context.Accept();
        }
예제 #3
0
 /// <summary>
 /// ќбрабатывает управл¤ющие сообщени¤ с целью корректировки правил маршрутизации.
 /// </summary>
 /// <param name="context"> онтекст полученного сообщени¤.</param>
 public void Handle(IConsumingContext <T> context)
 {
     this.createRoute(context.Message, this.storage);
     context.Accept();
 }