public static void ExecuteActivityHost <TActivity, TArguments>(this IReceiveEndpointConfigurator configurator, Uri compensateAddress, IExecuteActivityFactory <TActivity, TArguments> factory, Action <IExecuteActivityConfigurator <TActivity, TArguments> > configure = null) where TActivity : class, IExecuteActivity <TArguments> where TArguments : class { if (configurator == null) { throw new ArgumentNullException(nameof(configurator)); } if (compensateAddress == null) { throw new ArgumentNullException(nameof(compensateAddress)); } if (factory == null) { throw new ArgumentNullException(nameof(factory)); } LogContext.Debug?.Log("Configuring Execute Activity: {ActivityType}, {ArgumentType}", TypeMetadataCache <TActivity> .ShortName, TypeMetadataCache <TArguments> .ShortName); var specification = new ExecuteActivityHostSpecification <TActivity, TArguments>(factory, compensateAddress, configurator); configure?.Invoke(specification); configurator.AddEndpointSpecification(specification); }
public AutofacExecuteActivityFactory(ILifetimeScope lifetimeScope, string name, Action <ContainerBuilder, ExecuteContext <TArguments> > configureScope) { var lifetimeScopeProvider = new SingleLifetimeScopeProvider(lifetimeScope); var executeActivityScopeProvider = new AutofacExecuteActivityScopeProvider <TActivity, TArguments>(lifetimeScopeProvider, name, configureScope); _factory = new ScopeExecuteActivityFactory <TActivity, TArguments>(executeActivityScopeProvider); }
public ExecuteActivityService(IConfigurationProvider configuration, IServiceConfigurator serviceFactory, IActivityQueueNameProvider activityUriProvider, IExecuteActivityFactory <TActivity, TArguments> executeActivityFactory) { _serviceFactory = serviceFactory; _executeActivityFactory = executeActivityFactory; _activityName = GetActivityName(); _executeQueueName = activityUriProvider.GetExecuteActivityQueueName(_activityName); _executeConsumerLimit = GetExecuteConsumerLimit(configuration); }
public ExecuteActivityHostSpecification(IExecuteActivityFactory <TActivity, TArguments> activityFactory, IActivityConfigurationObserver observer) { _activityFactory = activityFactory; _activityPipeConfigurator = new PipeConfigurator <ExecuteActivityContext <TActivity, TArguments> >(); _executePipeConfigurator = new PipeConfigurator <ExecuteContext <TArguments> >(); _routingSlipConfigurator = new RoutingSlipConfigurator(); _observers = new ActivityConfigurationObservable(); _observers.Connect(observer); }
public ExecuteActivityTestHarness(BusTestHarness testHarness, IExecuteActivityFactory <TActivity, TArguments> activityFactory, Action <IExecuteActivityConfigurator <TActivity, TArguments> > configureExecute) { _configureExecute = configureExecute; _activityFactory = activityFactory; Name = GetActivityName(); ExecuteQueueName = BuildQueueName("execute"); testHarness.OnConfigureBus += ConfigureBus; }
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 ExecuteActivityHostSpecification(IExecuteActivityFactory <TActivity, TArguments> activityFactory, Uri compensateAddress, IActivityConfigurationObserver observer) : this(activityFactory, observer) { _compensateAddress = compensateAddress; }
public FactoryMethodActivityFactory(Func <TArguments, TActivity> executeFactory, Func <TLog, TActivity> compensateFactory) { _executeFactory = new FactoryMethodExecuteActivityFactory <TActivity, TArguments>(executeFactory); _compensateFactory = new FactoryMethodCompensateActivityFactory <TActivity, TLog>(compensateFactory); }
public ExecuteActivityFactoryFilter(IExecuteActivityFactory <TActivity, TArguments> factory, IPipe <ExecuteActivityContext <TActivity, TArguments> > pipe) { _factory = factory; _pipe = pipe; }