private void ConfigureSagaEndPoint(IRabbitMqReceiveEndpointConfigurator endpointConfigurator)
        {
            var stateMachine = new AutocallablePricingStateMachine();
            var repository   = new InMemorySagaRepository <AutocallablePricingState>();

            endpointConfigurator.StateMachineSaga(stateMachine, repository);
        }
Beispiel #2
0
        private void ConfigureSagaEndpoint(IRabbitMqReceiveEndpointConfigurator endPointConfigurator)
        {
            var stateMachine = new OrderProcessorStateMachine();
            var repository   = this.CreateRepository();

            //  endPointConfigurator.PrefetchCount = MAX_NUMBER_OF_PROCESSING_MESSAGES;
            endPointConfigurator.StateMachineSaga(stateMachine, repository);
        }
        private void ConfigureSagaEndPoint(IRabbitMqReceiveEndpointConfigurator endpointConfigurator)
        {
            var stateMachine = new MySagaStateMachine();

            try

            {
                var redisConnectionString = "192.168.99.100:6379";
                var redis = ConnectionMultiplexer.Connect(redisConnectionString);

                ///If we switch to RedisSagaRepository and Consumer publish its response too quick,
                ///It seems like the consumer published event reached Saga instance before the state is updated
                ///When it happened, Saga will not process the response event because it is not in the "Processing" state
                //var repository = new RedisSagaRepository<SagaState>(() => redis.GetDatabase());
                var repository = new InMemorySagaRepository <SagaState>();

                endpointConfigurator.StateMachineSaga(stateMachine, repository);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }