public AutofacCompensateActivityFactory(ILifetimeScope lifetimeScope, string name, Action <ContainerBuilder, CompensateContext <TLog> > configureScope) { var lifetimeScopeProvider = new SingleLifetimeScopeProvider(lifetimeScope); var compensateActivityScopeProvider = new AutofacCompensateActivityScopeProvider <TActivity, TLog>(lifetimeScopeProvider, name, configureScope); _factory = new ScopeCompensateActivityFactory <TActivity, TLog>(compensateActivityScopeProvider); }
public CompensateActivityHostSpecification(ICompensateActivityFactory <TActivity, TLog> activityFactory, IActivityConfigurationObserver observer) { _activityFactory = activityFactory; _activityPipeConfigurator = new PipeConfigurator <CompensateActivityContext <TActivity, TLog> >(); _compensatePipeConfigurator = new PipeConfigurator <CompensateContext <TLog> >(); _routingSlipConfigurator = new RoutingSlipConfigurator(); _observers = new ActivityConfigurationObservable(); _observers.Connect(observer); }
public ActivityService(IConfigurationProvider configuration, IActivityQueueNameProvider queueNameProvider, IExecuteActivityFactory <TActivity, TArguments> executeActivityFactory, ICompensateActivityFactory <TActivity, TLog> compensateActivityFactory) { _executeActivityFactory = executeActivityFactory; _compensateActivityFactory = compensateActivityFactory; _activityName = GetActivityName(); _executeQueueName = queueNameProvider.GetExecuteActivityQueueName(_activityName); _executeConsumerLimit = GetExecuteConsumerLimit(configuration); _compensateQueueName = queueNameProvider.GetCompensateActivityQueueName(_activityName); _compensateConsumerLimit = GetCompensateConsumerLimit(configuration); }
public static void CompensateActivityHost <TActivity, TLog>(this IReceiveEndpointConfigurator configurator, ICompensateActivityFactory <TActivity, TLog> factory, Action <ICompensateActivityConfigurator <TActivity, TLog> > configure = null) where TActivity : class, ICompensateActivity <TLog> where TLog : class { if (configurator == null) { throw new ArgumentNullException(nameof(configurator)); } if (factory == null) { throw new ArgumentNullException(nameof(factory)); } LogContext.Debug?.Log("Configuring Compensate Activity: {ActivityType}, {LogType}", TypeMetadataCache <TActivity> .ShortName, TypeMetadataCache <TLog> .ShortName); var specification = new CompensateActivityHostSpecification <TActivity, TLog>(factory, configurator); configure?.Invoke(specification); configurator.AddEndpointSpecification(specification); }
public FactoryMethodActivityFactory(Func <TArguments, TActivity> executeFactory, Func <TLog, TActivity> compensateFactory) { _executeFactory = new FactoryMethodExecuteActivityFactory <TActivity, TArguments>(executeFactory); _compensateFactory = new FactoryMethodCompensateActivityFactory <TActivity, TLog>(compensateFactory); }
public CompensateActivityFactoryFilter(ICompensateActivityFactory <TActivity, TLog> factory, IPipe <CompensateActivityContext <TActivity, TLog> > pipe) { _factory = factory; _pipe = pipe; }