// Setting up two Burrows in this demo code.
        public static void SetupRabbitBurrows(RabbitSeasoning seasoning = null, ILogger logger = null)
        {
            if (_seasoning is null)
            {
                _seasoning = new RabbitSeasoning
                {
                    ThrottleFastBodyLoops = false,
                    ThrowExceptions       = false,
                    WriteErrorsToConsole  = true
                };

                _seasoning.FactorySettings.UseUri = true;
                _seasoning.FactorySettings.Uri    = new Uri("amqp://*****:*****@localhost:5672/");
                _seasoning.SerializeSettings.SerializationMethod = SerializationMethod.Utf8Json;
                _seasoning.PoolSettings.EnableAutoScaling        = true;
                _seasoning.PoolSettings.ConnectionName           = "RabbitBurrowAdvancedExamples";
                _seasoning.PoolSettings.ConnectionPoolCount      = 5;
                _seasoning.PoolSettings.ChannelPoolCount         = 25;
            }

            if (_burrow is null)
            {
                _logger = logger;
                _burrow = new RabbitBurrow(_seasoning, _logger);
            }

            if (_burrowAsyncDispatch is null)
            {
                _seasoning.FactorySettings.EnableDispatchConsumersAsync = true;
                _burrowAsyncDispatch = new RabbitBurrow(_seasoning, _logger);
            }
        }
Ejemplo n.º 2
0
        public StandardFixture()
        {
            Seasoning = new RabbitSeasoning
            {
                ThrottleFastBodyLoops = false,
                ThrowExceptions       = false
            };

            Seasoning.SerializeSettings.SerializationMethod = SerializationMethod.Utf8Json;
            Seasoning.FactorySettings.RabbitHostName        = "localhost";
            Seasoning.PoolSettings.EnableAutoScaling        = true;
            Seasoning.PoolSettings.ConnectionName           = "RabbitServiceTest";
            Seasoning.PoolSettings.ConnectionPoolCount      = 5;
            Seasoning.PoolSettings.ChannelPoolCount         = 25;

            Burrow = new RabbitBurrow(Seasoning);

            try
            {
                Burrow.Maintenance.QueueDeclareAsync(TestQueueName1).GetAwaiter().GetResult();
                Burrow.Maintenance.QueueDeclareAsync(TestQueueName2).GetAwaiter().GetResult();
                Burrow.Maintenance.QueueDeclareAsync(TestQueueName3).GetAwaiter().GetResult();
                Burrow.Maintenance.QueueDeclareAsync(TestQueueName4).GetAwaiter().GetResult();
                Burrow.Maintenance.ExchangeDeclareAsync(TestExchangeName, ExchangeType.Fanout.Description()).GetAwaiter().GetResult();
            }
            catch { }
        }
Ejemplo n.º 3
0
        // RabbitBurrow Factory
        public static RabbitBurrow GetOrCreateRabbitBurrow(RabbitSeasoning seasoning = null, ILogger logger = null)
        {
            if (_burrow is null)
            {
                _logger = logger;

                if (_seasoning is null)
                {
                    _seasoning = new RabbitSeasoning
                    {
                        ThrottleFastBodyLoops = false,
                        ThrowExceptions       = false,
                        WriteErrorsToConsole  = true
                    };

                    _seasoning.FactorySettings.UseUri = true;
                    _seasoning.FactorySettings.Uri    = new Uri("amqp://*****:*****@localhost:5672/");
                    _seasoning.SerializeSettings.SerializationMethod = SerializationMethod.Utf8Json;
                    _seasoning.PoolSettings.EnableAutoScaling        = true;
                    _seasoning.PoolSettings.ConnectionName           = "RabbitBurrowExamples";
                    _seasoning.PoolSettings.ConnectionPoolCount      = 5;
                    _seasoning.PoolSettings.ChannelPoolCount         = 25;
                }

                _burrow = new RabbitBurrow(_seasoning, _logger);
            }

            return(_burrow);
        }