コード例 #1
0
ファイル: RabbitMQService.cs プロジェクト: realzjy/MySamples
 public void StartConsume(RabbitMQDeploy deploy)
 {
     _consumer           = new EventingBasicConsumer(_channel);
     _consumerTag        = _channel.BasicConsume(deploy.QueueName, deploy.QueueNoAck, _consumer);
     _consumer.Received += OnReceived;
     _consumer.Shutdown += OnShutdown;
     _recoverConsume     = () => { _consumerTag = _channel.BasicConsume(_deploy.QueueName, _deploy.QueueNoAck, _consumerTag, _consumer); };
 }
コード例 #2
0
ファイル: RabbitMQService.cs プロジェクト: realzjy/MySamples
        private void BindChannel(RabbitMQDeploy deploy)
        {
            _channel = _connection.CreateModel();
            _channel.ModelShutdown += OnChannelShutdown;
            _channel.ExchangeDeclare(deploy.ExchangeName, deploy.ExchangeType, deploy.ExchangeDurable, deploy.ExchangeAutoDelete, deploy.ExchangeArguments);
            var queueStatus = _channel.QueueDeclare(deploy.QueueName, deploy.QueueDurable, deploy.QueueExclusive, deploy.QueueAutoDelete, deploy.QueueArguments);

            _channel.QueueBind(deploy.QueueName, deploy.ExchangeName, deploy.RoutingKey);
            _channel.BasicQos(0, 1, false);
        }
コード例 #3
0
ファイル: RabbitMQService.cs プロジェクト: realzjy/MySamples
        private ConnectionFactory BuildConnectionFactory(RabbitMQDeploy deploy)
        {
            var factory = new ConnectionFactory()
            {
                Protocol    = Protocols.DefaultProtocol,
                HostName    = deploy.HostName,
                Port        = deploy.Port,
                VirtualHost = deploy.VirtualHost,
                UserName    = deploy.UserName,
                Password    = deploy.Password,
                RequestedConnectionTimeout = deploy.RequestedConnectionTimeout,
                RequestedHeartbeat         = deploy.RequestedHeartbeat,
            };

            factory.ClientProperties.Add("Application Name", deploy.ClientServiceName);
            factory.ClientProperties.Add("Application Connected Time (UTC)", DateTime.UtcNow.ToString("o"));
            return(factory);
        }
コード例 #4
0
        private void Form1_Load(object sender, EventArgs e)
        {
            _depoy = new RabbitMQDeploy();

            _depoy.HostName    = "localhost";
            _depoy.Port        = 5672;
            _depoy.VirtualHost = "/zjytest";
            _depoy.UserName    = "******";
            _depoy.Password    = "******";
            _depoy.AutoClose   = false;
            _depoy.RequestedConnectionTimeout = 10000;
            _depoy.RequestedHeartbeat         = 10;

            _depoy.QueueName          = "exchange.zjy.001";
            _depoy.ClientServiceName  = "localhost";
            _depoy.ExchangeType       = "direct";
            _depoy.ExchangeDurable    = false;
            _depoy.ExchangeAutoDelete = false;
            _depoy.ExchangeArguments  = null;

            _depoy.QueueName       = "queue.zjy.001";
            _depoy.QueueDurable    = true;
            _depoy.QueueExclusive  = false;
            _depoy.QueueAutoDelete = false;
            _depoy.QueueNoAck      = false;
            _depoy.QueueArguments  = null;

            _depoy.ExchangeName = _depoy.QueueName;
            _depoy.QueueName    = _depoy.QueueName;
            _depoy.RoutingKey   = "";

            if (_mq == null)
            {
                _mq = new RabbitMQService(_depoy);
            }
        }
コード例 #5
0
ファイル: RabbitMQService.cs プロジェクト: realzjy/MySamples
 public RabbitMQService(RabbitMQDeploy deploy)
 {
     _deploy = deploy;
 }