public StateMachineEventConnectorFactory(SagaStateMachine <TInstance> stateMachine, EventCorrelation <TInstance, TMessage> correlation)
        {
            var consumeFilter = new StateMachineSagaMessageFilter <TInstance, TMessage>(stateMachine, correlation.Event);

            _connector = new StateMachineSagaMessageConnector <TInstance, TMessage>(consumeFilter, correlation.Policy, correlation.FilterFactory,
                                                                                    correlation.MessageFilter, correlation.ConfigureConsumeTopology);
        }
        public OrchestratesSagaConnectorFactory()
        {
            var policy = new AnyExistingSagaPolicy <TSaga, TMessage>();

            var consumeFilter = new OrchestratesSagaMessageFilter <TSaga, TMessage>();

            _connector = new CorrelatedSagaMessageConnector <TSaga, TMessage>(consumeFilter, policy, x => x.Message.CorrelationId);
        }
Esempio n. 3
0
        public ObservesSagaConnectorFactory()
        {
            var policy = new AnyExistingSagaPolicy <TSaga, TMessage>();

            ISagaQueryFactory <TSaga, TMessage> queryFactory = new ExpressionSagaQueryFactory <TSaga, TMessage>(GetFilterExpression());

            var consumeFilter = new ObservesSagaMessageFilter <TSaga, TMessage>();

            _connector = new QuerySagaMessageConnector <TSaga, TMessage>(consumeFilter, policy, queryFactory);
        }
        public InitiatedBySagaConnectorFactory()
        {
            var consumeFilter = new InitiatedBySagaMessageFilter <TSaga, TMessage>();

            ISagaFactory <TSaga, TMessage> sagaFactory = new DefaultSagaFactory <TSaga, TMessage>();

            var policy = new NewSagaPolicy <TSaga, TMessage>(sagaFactory, false);

            _connector = new CorrelatedSagaMessageConnector <TSaga, TMessage>(consumeFilter, policy, x => x.Message.CorrelationId);
        }
        public OrchestratesSagaConnectorFactory()
        {
            IPipe <ConsumeContext <TMessage> > missingPipe = Pipe.Execute <ConsumeContext <TMessage> >(context =>
                                                                                                       throw new SagaException("An existing saga instance was not found", typeof(TSaga), typeof(TMessage), context.CorrelationId ?? Guid.Empty));

            var policy = new AnyExistingSagaPolicy <TSaga, TMessage>(missingPipe);

            var consumeFilter = new OrchestratesSagaMessageFilter <TSaga, TMessage>();

            _connector = new CorrelatedSagaMessageConnector <TSaga, TMessage>(consumeFilter, policy, x => x.Message.CorrelationId);
        }