public void Connect(string filter = "#") { try { _filter = filter; var factory = new ConnectionFactory { Uri = _amqpUri }; _conn = factory.CreateConnection(); _amq = new AMQClient { Channel = _conn.CreateModel() }; _amq.Channel.ExchangeDeclare(_amqpExchange, "topic"); var queueName = _amq.Channel.QueueDeclare(); // TODO Handle filtering of message //if (args.Length < 1) //{ // Console.Error.WriteLine("Usage: {0} [binding_key...]", // Environment.GetCommandLineArgs()[0]); // Environment.ExitCode = 1; // return; //} //foreach (var bindingKey in args) //{ _amq.Channel.QueueBind(queueName, _amqpExchange, filter); //} //Console.WriteLine(" [*] Waiting for messages. " + "To exit press CTRL+C"); _consumer = new QueueingBasicConsumer(_amq.Channel); _amq.Channel.BasicConsume(queueName, true, _consumer); // Start Processing in other Thread _running = true; _t = new Thread(Process); _t.Start(); Console.WriteLine("AMQConsumer started and connected to " + _amqpUri + ":" + _amqpExchange); Connected = true; } catch (BrokerUnreachableException) { // Retry in 1sec if (!_cancelled) { Thread.Sleep(1000); Connect(_filter); } } }
public void Connect(string filter = "#") { try { _filter = filter; var factory = new ConnectionFactory {Uri = _amqpUri}; _conn = factory.CreateConnection(); _amq = new AMQClient {Channel = _conn.CreateModel()}; _amq.Channel.ExchangeDeclare(_amqpExchange, "topic"); var queueName = _amq.Channel.QueueDeclare(); // TODO Handle filtering of message //if (args.Length < 1) //{ // Console.Error.WriteLine("Usage: {0} [binding_key...]", // Environment.GetCommandLineArgs()[0]); // Environment.ExitCode = 1; // return; //} //foreach (var bindingKey in args) //{ _amq.Channel.QueueBind(queueName, _amqpExchange, filter); //} //Console.WriteLine(" [*] Waiting for messages. " + "To exit press CTRL+C"); _consumer = new QueueingBasicConsumer(_amq.Channel); _amq.Channel.BasicConsume(queueName, true, _consumer); // Start Processing in other Thread _running = true; _t = new Thread(Process); _t.Start(); Console.WriteLine("AMQConsumer started and connected to " + _amqpUri + ":" + _amqpExchange); Connected = true; } catch (BrokerUnreachableException) { // Retry in 1sec Thread.Sleep(1000); Connect(_filter); } }
public void Connect(string filter = "#") { try { _factory = new ConnectionFactory { Uri = _amqpUri }; _conn = _factory.CreateConnection(); _amq = new AMQClient { Channel = _conn.CreateModel() }; _amq.Channel.QueueDeclare(_amqpExchange, true, false, false, null); Console.WriteLine("AMQPublisher started and connected to queue " + _amqpUri + ":" + _amqpExchange); Connected = true; } catch (BrokerUnreachableException) { // TODO Log } }