Example #1
0
        public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, IContainer container)
            where TActivity : class, CompensateActivity <TLog>
            where TLog : class
        {
            var compensateActivityScopeProvider = new LamarCompensateActivityScopeProvider <TActivity, TLog>(container);
            var factory       = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider);
            var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory);

            configurator.AddEndpointSpecification(specification);
        }
        public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, IContainer container,
                                                                    Action <ICompensateActivityConfigurator <TActivity, TLog> > configure = null)
            where TActivity : class, ICompensateActivity <TLog>
            where TLog : class
        {
            var compensateActivityScopeProvider = new StructureMapCompensateActivityScopeProvider <TActivity, TLog>(container);

            var factory = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider);

            configurator.CompensateActivityHost(factory, configure);
        }
Example #3
0
        public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, IServiceProvider provider,
                                                                    Action <ICompensateActivityConfigurator <TActivity, TLog> > configure = null)
            where TActivity : class, ICompensateActivity <TLog>
            where TLog : class
        {
            var compensateActivityScopeProvider = new DependencyInjectionCompensateActivityScopeProvider <TActivity, TLog>(provider);

            var factory = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider);

            configurator.CompensateActivityHost(factory, configure);
        }
        public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, IKernel kernel,
                                                                    Action <ICompensateActivityConfigurator <TActivity, TLog> > configure = null)
            where TActivity : class, CompensateActivity <TLog>
            where TLog : class
        {
            var compensateActivityScopeProvider = new WindsorCompensateActivityScopeProvider <TActivity, TLog>(kernel);

            var factory = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider);

            configurator.CompensateActivityHost(factory, configure);
        }
        public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, ILifetimeScope lifetimeScope, string name = "message")
            where TActivity : class, CompensateActivity <TLog>
            where TLog : class
        {
            var lifetimeScopeProvider = new SingleLifetimeScopeProvider(lifetimeScope);

            var compensateActivityScopeProvider = new AutofacCompensateActivityScopeProvider <TActivity, TLog>(lifetimeScopeProvider, name);

            var factory = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider);

            var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory);

            configurator.AddEndpointSpecification(specification);
        }
        public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, Container container,
                                                                    Action <ICompensateActivityConfigurator <TActivity, TLog> > configure = null)
            where TActivity : class, ICompensateActivity <TLog>
            where TLog : class
        {
            var compensateActivityScopeProvider = new SimpleInjectorCompensateActivityScopeProvider <TActivity, TLog>(container);

            var factory = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider);

            var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory, configurator);

            configure?.Invoke(specification);

            configurator.AddEndpointSpecification(specification);
        }
Example #7
0
        void ConfigureCompensate(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider configurationServiceProvider)
        {
            var activityScopeProvider = configurationServiceProvider.GetRequiredService <ICompensateActivityScopeProvider <TActivity, TLog> >();

            var activityFactory = new ScopeCompensateActivityFactory <TActivity, TLog>(activityScopeProvider);

            var specification = new CompensateActivityHostSpecification <TActivity, TLog>(activityFactory, configurator);

            GetActivityDefinition(configurationServiceProvider)
            .Configure(configurator, specification);

            foreach (var action in _compensateActions)
            {
                action(specification);
            }

            configurator.AddEndpointSpecification(specification);
        }
        public void ConfigureCompensate(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider configurationServiceProvider)
        {
            var activityScopeProvider = configurationServiceProvider.GetRequiredService <ICompensateActivityScopeProvider <TActivity, TLog> >();

            var activityFactory = new ScopeCompensateActivityFactory <TActivity, TLog>(activityScopeProvider);

            var specification = new CompensateActivityHostSpecification <TActivity, TLog>(activityFactory, configurator);

            LogContext.Debug?.Log("Configuring endpoint {Endpoint}, Compensate Activity: {ActivityType}", configurator.InputAddress.GetLastPart(),
                                  TypeMetadataCache <TActivity> .ShortName);

            GetActivityDefinition(configurationServiceProvider)
            .Configure(configurator, specification);

            foreach (var action in _compensateActions)
            {
                action(specification);
            }

            configurator.AddEndpointSpecification(specification);
        }