Beispiel #1
0
        public static InstanceSubscriptionConfigurator CompensateActivityHost <TActivity, TLog>(
            this SubscriptionBusServiceConfigurator configurator, CompensateActivityFactory <TLog> factory)
            where TActivity : CompensateActivity <TLog>
            where TLog : class
        {
            var host = new CompensateActivityHost <TActivity, TLog>(factory);

            return(configurator.Instance(host));
        }
Beispiel #2
0
        public static InstanceSubscriptionConfigurator CompensateActivityHost <TActivity, TLog>(
            this SubscriptionBusServiceConfigurator configurator, Func <TLog, TActivity> controllerFactory)
            where TActivity : CompensateActivity <TLog>
            where TLog : class
        {
            var factory = new FactoryMethodCompensateActivityFactory <TActivity, TLog>(controllerFactory);
            var host    = new CompensateActivityHost <TActivity, TLog>(factory);

            return(configurator.Instance(host));
        }
Beispiel #3
0
        public void Configure(IReceiveEndpointBuilder builder)
        {
            _activityPipeConfigurator.UseFilter(new CompensateActivityFilter <TActivity, TLog>(_observers));

            IPipe <CompensateActivityContext <TActivity, TLog> > compensateActivityPipe = _activityPipeConfigurator.Build();

            _compensatePipeConfigurator.UseFilter(new CompensateActivityFactoryFilter <TActivity, TLog>(_activityFactory, compensateActivityPipe));

            IPipe <CompensateContext <TLog> > compensatePipe = _compensatePipeConfigurator.Build();

            var host = new CompensateActivityHost <TActivity, TLog>(compensatePipe);

            _routingSlipConfigurator.UseFilter(host);

            builder.ConnectConsumePipe(_routingSlipConfigurator.Build());
        }