public SagaStateMachineMessageSinkFactory(ISubscriberContext context, ISagaPolicyFactory policyFactory) { _context = context; _policyFactory = policyFactory; _bus = _context.Data as IServiceBus; _repository = _context.Builder.GetInstance <ISagaRepository <TSaga> >(); }
public SagaStateMachineDistributorConnectorFactory(IWorkerSelectorFactory workerSelectorFactory, ISagaRepository <TSaga> sagaRepository) { _workerSelectorFactory = workerSelectorFactory; _sagaRepository = sagaRepository; _policyFactory = new SagaPolicyFactory(); }
public CorrelatedSagaWorkerSubscriptionConnector(ISagaRepository <TSaga> sagaRepository, DataEvent <TSaga, TMessage> dataEvent, IEnumerable <State> states, ISagaPolicyFactory policyFactory, Expression <Func <TSaga, bool> > removeExpression) { _connector = new CorrelatedSagaSubscriptionConnector <TSaga, TMessage>(sagaRepository, dataEvent, states, policyFactory, removeExpression); }
public CorrelatedSagaSubscriptionConnector(ISagaRepository <TSaga> sagaRepository, DataEvent <TSaga, TMessage> dataEvent, IEnumerable <State> states, ISagaPolicyFactory policyFactory, Expression <Func <TSaga, bool> > removeExpression) { _sagaRepository = sagaRepository; _dataEvent = dataEvent; _policy = policyFactory.GetPolicy <TSaga, TMessage>(states, x => x.CorrelationId, removeExpression); }
public SagaEventConnectorFactory(ISagaRepository <TSaga> sagaRepository, ISagaPolicyFactory policyFactory, DataEvent <TSaga, TMessage> dataEvent, IEnumerable <State> states) { _sagaRepository = sagaRepository; _policyFactory = policyFactory; _dataEvent = dataEvent; _states = states; _removeExpression = SagaStateMachine <TSaga> .GetCompletedExpression(); }
public CorrelatedEventSagaWorkerConnector(ISagaRepository <TSaga> sagaRepository, DataEvent <TSaga, TMessage> dataEvent, IEnumerable <State> states, ISagaPolicyFactory policyFactory, Expression <Func <TSaga, bool> > removeExpression) : base(sagaRepository) { _dataEvent = dataEvent; _states = states; _policyFactory = policyFactory; _removeExpression = removeExpression; }
public SagaRunner(ISagaFactory <TS, TD> sagaFactory, ISagaStateService <TS, TD> sagaStateService, ITransactionManager transactionManager, ISagaPolicyFactory <TS> policyFactory, ILogger <SagaRunner <TS, TD> > logger) { _sagaFactory = sagaFactory ?? throw new ArgumentNullException(nameof(sagaFactory)); _sagaStateService = sagaStateService ?? throw new ArgumentNullException(nameof(sagaStateService)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _policyFactory = policyFactory ?? throw new ArgumentNullException(nameof(policyFactory)); _transactionManager = transactionManager ?? throw new ArgumentNullException(nameof(transactionManager)); }
public Saga(IWorkerSelectorFactory workerSelectorFactory, ISagaRepository <TSaga> sagaRepository, DataEvent <TSaga, TMessage> dataEvent, IEnumerable <State> states, ISagaPolicyFactory policyFactory, Expression <Func <TSaga, bool> > removeExpression) { _workerSelectorFactory = workerSelectorFactory; _sagaRepository = sagaRepository; _dataEvent = dataEvent; _policy = policyFactory.GetPolicy <TSaga, TMessage>(states, x => x.CorrelationId, removeExpression); }
public PropertySagaSubscriptionConnector(ISagaRepository <TSaga> sagaRepository, DataEvent <TSaga, TMessage> dataEvent, IEnumerable <State> states, ISagaPolicyFactory policyFactory, Expression <Func <TSaga, bool> > removeExpression, Expression <Func <TSaga, TMessage, bool> > selector) { _sagaRepository = sagaRepository; _dataEvent = dataEvent; _selector = selector; Func <TMessage, Guid> getNewSagaId = GenerateGetSagaIdFunction(selector); _policy = policyFactory.GetPolicy(states, getNewSagaId, removeExpression); }
public CorrelatedEventSagaDistributorConnector(IWorkerSelectorFactory workerSelectorFactory, ISagaRepository <TSaga> sagaRepository, DataEvent <TSaga, TMessage> dataEvent, IEnumerable <State> states, ISagaPolicyFactory policyFactory, Expression <Func <TSaga, bool> > removeExpression) { _workerSelectorFactory = workerSelectorFactory; _sagaRepository = sagaRepository; _dataEvent = dataEvent; Func <TMessage, Guid> getNewSagaId = message => message.CorrelationId; _policy = policyFactory.GetPolicy(states, getNewSagaId, removeExpression); }
public PropertySagaSubscriptionConnector(ISagaRepository <TSaga> sagaRepository, DataEvent <TSaga, TMessage> dataEvent, IEnumerable <State> states, ISagaPolicyFactory policyFactory, Expression <Func <TSaga, bool> > removeExpression, IEventBinder <TSaga> eventBinder) { _sagaRepository = sagaRepository; _dataEvent = dataEvent; _bindExpression = eventBinder.GetBindExpression <TMessage>(); Func <TMessage, Guid> correlationIdSelector = GetCorrelationIdSelector(eventBinder); _policy = policyFactory.GetPolicy(states, correlationIdSelector, removeExpression); }
public PropertyEventSagaWorkerConnector(ISagaRepository <TSaga> sagaRepository, DataEvent <TSaga, TMessage> dataEvent, IEnumerable <State> states, ISagaPolicyFactory policyFactory, Expression <Func <TSaga, bool> > removeExpression, EventBinder <TSaga> eventBinder) : base(sagaRepository) { _dataEvent = dataEvent; _states = states; _policyFactory = policyFactory; _removeExpression = removeExpression; _bindExpression = eventBinder.GetBindExpression <TMessage>(); _correlationIdSelector = GetCorrelationIdSelector(eventBinder); }
public StateMachineSagaConnector(ISagaRepository <T> sagaRepository) { _sagaRepository = sagaRepository; _policyFactory = new SagaPolicyFactory(); }
public SagaDistributorSubscriber() { _policyFactory = new SagaPolicyFactory(); }
public SagaStateMachineWorkerConnectorFactory(ISagaRepository <TSaga> sagaRepository) { _sagaRepository = sagaRepository; _policyFactory = new SagaPolicyFactory(); }
public SagaEventSubscriber(ISubscriberContext context, ISagaPolicyFactory policyFactory) { _context = context; _policyFactory = policyFactory; }