public ExecuteActivityHostSpecification(ExecuteActivityFactory <TArguments> activityFactory, Uri compensateAddress)
        {
            _pipeSpecifications = new List <IPipeSpecification <ConsumeContext <RoutingSlip> > >();

            _activityFactory = activityFactory;
            _filterFactory   = () => new ExecuteActivityHost <TActivity, TArguments>(_activityFactory, compensateAddress);
        }
示例#2
0
        public AutofacExecuteActivityFactory(ILifetimeScope lifetimeScope, string name)
        {
            var lifetimeScopeProvider = new SingleLifetimeScopeProvider(lifetimeScope);

            var executeActivityScopeProvider = new AutofacExecuteActivityScopeProvider <TActivity, TArguments>(lifetimeScopeProvider, name);

            _factory = new ScopeExecuteActivityFactory <TActivity, TArguments>(executeActivityScopeProvider);
        }
示例#3
0
        public ExecuteActivityHostSpecification(ExecuteActivityFactory <TActivity, TArguments> activityFactory, Uri compensateAddress)
        {
            _activityFactory = activityFactory;

            _pipeSpecifications      = new List <IPipeSpecification <ExecuteActivityContext <TActivity, TArguments> > >();
            _routingSlipConfigurator = new RoutingSlipConfigurator();
            _filterFactory           = executePipe => new ExecuteActivityHost <TActivity, TArguments>(_activityFactory, executePipe, compensateAddress);
        }
示例#4
0
        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 static void ExecuteActivityHost <TActivity, TArguments>(this IReceiveEndpointConfigurator configurator, Uri compensateAddress,
                                                                       ExecuteActivityFactory <TArguments> factory)
            where TActivity : ExecuteActivity <TArguments>
            where TArguments : class
        {
            var specification = new ExecuteActivityHostSpecification <TActivity, TArguments>(factory, compensateAddress);

            configurator.AddEndpointSpecification(specification);
        }
示例#6
0
        public ExecuteActivityHost(ExecuteActivityFactory <TArguments> activityFactory)
        {
            if (activityFactory == null)
            {
                throw new ArgumentNullException("activityFactory");
            }

            _activityFactory = activityFactory;
        }
示例#7
0
        public static InstanceSubscriptionConfigurator ExecuteActivityHost <TActivity, TArguments>(
            this SubscriptionBusServiceConfigurator configurator,
            Uri compensateAddress, ExecuteActivityFactory <TArguments> factory)
            where TActivity : ExecuteActivity <TArguments>
            where TArguments : class
        {
            var host = new ExecuteActivityHost <TActivity, TArguments>(compensateAddress, factory);

            return(configurator.Instance(host));
        }
示例#8
0
        public ExecuteActivityHost(ExecuteActivityFactory <TActivity, TArguments> activityFactory,
                                   IPipe <RequestContext> executePipe)
        {
            if (activityFactory == null)
            {
                throw new ArgumentNullException(nameof(activityFactory));
            }

            _activityFactory = activityFactory;
            _executePipe     = executePipe.CreateRequestPipe <ExecuteActivityContext <TActivity, TArguments>, ExecutionResult>();
        }
        public ExecuteActivityHost(ExecuteActivityFactory <TActivity, TArguments> activityFactory,
                                   IPipe <ExecuteActivityContext <TActivity, TArguments> > executePipe)
        {
            if (activityFactory == null)
            {
                throw new ArgumentNullException(nameof(activityFactory));
            }

            _activityFactory = activityFactory;
            _executePipe     = executePipe;
        }
        public static void ExecuteActivityHost <TActivity, TArguments>(this IReceiveEndpointConfigurator configurator,
                                                                       ExecuteActivityFactory <TActivity, TArguments> factory, Action <IExecuteActivityConfigurator <TActivity, TArguments> > configure = null)
            where TActivity : class, ExecuteActivity <TArguments>
            where TArguments : class
        {
            var specification = new ExecuteActivityHostSpecification <TActivity, TArguments>(factory);

            configure?.Invoke(specification);

            configurator.AddEndpointSpecification(specification);
        }
示例#11
0
        public ExecuteActivityHost(ExecuteActivityFactory <TArguments> activityFactory)
        {
            if (activityFactory == null)
            {
                throw new ArgumentNullException(nameof(activityFactory));
            }

            _activityFactory = activityFactory;

            _executePipe = Pipe.New <ExecuteActivityContext <TArguments> >(x => x.UseFilter(new ExecuteActivityFilter <TArguments>()));
        }
        public ExecuteActivityTestHarness(BusTestHarness testHarness, ExecuteActivityFactory <TActivity, TArguments> activityFactory,
                                          Action <IExecuteActivityConfigurator <TActivity, TArguments> > configureExecute)
        {
            _configureExecute = configureExecute;
            _activityFactory  = activityFactory;

            Name = GetActivityName();

            ExecuteQueueName = BuildQueueName("execute");

            testHarness.OnConfigureBus += ConfigureBus;
        }
示例#13
0
        public ExecuteActivityService(IConfigurationProvider configuration, IServiceConfigurator serviceFactory,
                                      IActivityQueueNameProvider activityUriProvider, ExecuteActivityFactory <TArguments> executeActivityFactory)
        {
            _log = Logger.Get(GetType());

            _serviceFactory         = serviceFactory;
            _executeActivityFactory = executeActivityFactory;

            _activityName = GetActivityName();

            _executeQueueName     = activityUriProvider.GetExecuteActivityQueueName(_activityName);
            _executeConsumerLimit = GetExecuteConsumerLimit(configuration);
        }
示例#14
0
        public ExecuteActivityHost(Uri compensateAddress, ExecuteActivityFactory <TArguments> activityFactory)
        {
            if (compensateAddress == null)
            {
                throw new ArgumentNullException("compensateAddress");
            }
            if (activityFactory == null)
            {
                throw new ArgumentNullException("activityFactory");
            }

            _compensateAddress = compensateAddress;
            _activityFactory   = activityFactory;
        }
        public ExecuteActivityHost(ExecuteActivityFactory <TActivity, TArguments> activityFactory,
                                   IPipe <ExecuteActivityContext <TActivity, TArguments> > executePipe, Uri compensateAddress)
        {
            if (compensateAddress == null)
            {
                throw new ArgumentNullException(nameof(compensateAddress));
            }
            if (activityFactory == null)
            {
                throw new ArgumentNullException(nameof(activityFactory));
            }

            _compensateAddress = compensateAddress;
            _activityFactory   = activityFactory;
            _executePipe       = executePipe;
        }
示例#16
0
        public ActivityService(IConfigurationProvider configuration, IActivityQueueNameProvider queueNameProvider,
                               ExecuteActivityFactory <TArguments> executeActivityFactory, CompensateActivityFactory <TLog> compensateActivityFactory)
        {
            _log = Logger.Get(GetType());

            _executeActivityFactory    = executeActivityFactory;
            _compensateActivityFactory = compensateActivityFactory;

            _activityName = GetActivityName();

            _executeQueueName     = queueNameProvider.GetExecuteActivityQueueName(_activityName);
            _executeConsumerLimit = GetExecuteConsumerLimit(configuration);

            _compensateQueueName     = queueNameProvider.GetCompensateActivityQueueName(_activityName);
            _compensateConsumerLimit = GetCompensateConsumerLimit(configuration);
        }
示例#17
0
 public FactoryMethodActivityFactory(Func <TArguments, TActivity> executeFactory,
                                     Func <TLog, TActivity> compensateFactory)
 {
     _executeFactory    = new FactoryMethodExecuteActivityFactory <TActivity, TArguments>(executeFactory);
     _compensateFactory = new FactoryMethodCompensateActivityFactory <TActivity, TLog>(compensateFactory);
 }