示例#1
0
        public Listener(ILifetimeScope scope, ILog logger)
        {
            this.logger   = logger;
            this.receiver = scope.Resolve <IReceiver>();
            this.consumer = new DedupingMessageConsumer(new MessageConsumer(this.receiver), this.receiver);

            this.logger.Info("Started sales accounts listener");

            this.consumer.For("linnapps.sales-account.created")
            .OnConsumed(m =>
            {
                using (var handlerScope = scope.BeginLifetimeScope("messageHandler"))
                {
                    this.logger.Info($"Processing message {m.MessageId}");
                    var handler = handlerScope.Resolve <SalesAccountCreatedHandler>();
                    return(handler.Execute(m));
                }
            })
            .OnRejected(this.LogRejection);

            this.consumer.For("linnapps.sales-account.updated")
            .OnConsumed(m =>
            {
                using (var handlerScope = scope.BeginLifetimeScope("messageHandler"))
                {
                    var handler = handlerScope.Resolve <SalesAccountUpdatedHandler>();
                    return(handler.Execute(m));
                }
            })
            .OnRejected(this.LogRejection);
        }
示例#2
0
        public Listener(ILifetimeScope scope, ILog logger)
        {
            this.logger   = logger;
            this.receiver = scope.Resolve <IReceiver>();
            this.consumer = new DedupingMessageConsumer(new MessageConsumer(this.receiver), this.receiver);

            this.logger.Info("Started listener");

            this.consumer.For("production.start-trigger-run")
            .OnConsumed(m =>
            {
                using (var handlerScope = scope.BeginLifetimeScope("messageHandler"))
                {
                    var handler = handlerScope.Resolve <StartTriggerRunHandler>();
                    return(handler.Execute(m));
                }
            })
            .OnRejected(this.LogRejection);
        }
示例#3
0
        public Listener(ILifetimeScope scope, ILog logger)
        {
            this.logger   = logger;
            this.receiver = scope.Resolve <IReceiver>();
            this.consumer = new DedupingMessageConsumer(new MessageConsumer(this.receiver), this.receiver);

            this.logger.Info("Started pricing-listener");

            this.consumer.For("stores.some-type")
            .OnConsumed(m =>
            {
                using (var handlerScope = scope.BeginLifetimeScope("messageHandler"))
                {
                    // var handler = handlerScope.Resolve<DiscountCacheHandler>();
                    // return handler.Execute(m);
                    return(true);
                }
            })
            .OnRejected(this.LogRejection);
        }
示例#4
0
        public Listener(ILifetimeScope scope, ILog logger)
        {
            this.logger   = logger;
            this.receiver = scope.Resolve <IReceiver>();
            this.consumer = new DedupingMessageConsumer(new MessageConsumer(this.receiver), this.receiver);

            this.logger.Info("Started dem stock listener");

            this.consumer.For("retailers.retailer.created")
            .OnConsumed(m =>
            {
                using (var handlerScope = scope.BeginLifetimeScope("messageHandler"))
                {
                    var handler = handlerScope.Resolve <RetailerCreatedHandler>();
                    return(handler.Execute(m));
                }
            })
            .OnRejected(this.LogRejection);

            this.consumer.For("retailers.retailer.updated")
            .OnConsumed(m =>
            {
                using (var handlerScope = scope.BeginLifetimeScope("messageHandler"))
                {
                    var handler = handlerScope.Resolve <RetailerUpdatedHandler>();
                    return(handler.Execute(m));
                }
            })
            .OnRejected(this.LogRejection);

            this.consumer.For("invoicing.invoice.created")
            .OnConsumed(m =>
            {
                using (var handlerScope = scope.BeginLifetimeScope("messageHandler"))
                {
                    var handler = handlerScope.Resolve <InvoiceCreatedHandler>();
                    return(handler.Execute(m));
                }
            })
            .OnRejected(this.LogRejection);
        }