Пример #1
0
        public void Connect()
        {
            if (_connection != null)
            {
                return;
            }

            _connectionLock.Wait();

            try
            {
                if (_connection == null)
                {
                    _connection = _connectionChannelPool.GetConnection();

                    _channel = _connection.CreateModel();

                    _channel.ExchangeDeclare(_exchangeName, RabbitMQOptions.ExchangeType, true);

                    var arguments = new Dictionary <string, object>
                    {
                        { "x-message-ttl", _rabbitMQOptions.QueueMessageExpires }
                    };
                    _channel.QueueDeclare(_queueName, durable: true, exclusive: false, autoDelete: false, arguments: arguments);
                }
            }
            finally
            {
                _connectionLock.Release();
            }
        }
Пример #2
0
        private void InitClient()
        {
            var connection = _connectionChannelPool.GetConnection();

            _channel = connection.CreateModel();

            _channel.ExchangeDeclare(
                _exchageName,
                RabbitMQOptions.ExchangeType,
                true);

            var arguments = new Dictionary <string, object> {
                { "x-message-ttl", _rabbitMQOptions.QueueMessageExpires }
            };

            _channel.QueueDeclare(_queueName, true, false, false, arguments);
        }
Пример #3
0
        /// <summary>
        /// Subscribe the specified channel.
        /// </summary>
        /// <returns>The subscribe.</returns>
        /// <param name="channel">Channel.</param>
        public void Subscribe(string channel)
        {
            var _connection = _connectionChannelPool.GetConnection();

            var _subscriberChannel = _connection.CreateModel();

            _subscriberChannel.ExchangeDeclare(_rabbitMQBusOptions.TopicExchangeName, ExchangeType.Topic, true, true, null);

            var arguments = new Dictionary <string, object> {
                { "x-message-ttl", _rabbitMQBusOptions.QueueMessageExpires }
            };

            _subscriberChannel.QueueDeclare("easycaching.queue", true, false, false, arguments);

            var consumer = new EventingBasicConsumer(_subscriberChannel);

            consumer.Received += OnConsumerReceived;
            //consumer.Shutdown += OnConsumerShutdown;

            _subscriberChannel.BasicConsume("easycaching.queue", false, string.Empty, false, false, null, consumer);
        }