Example #1
0
        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;
        }
Example #6
0
        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);
        }
Example #7
0
 public ExecuteActivityHostSpecification(IExecuteActivityFactory <TActivity, TArguments> activityFactory, Uri compensateAddress,
                                         IActivityConfigurationObserver observer)
     : this(activityFactory, observer)
 {
     _compensateAddress = compensateAddress;
 }
Example #8
0
 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;
 }