public Publisher(string queueName, IList <Person> persons) { _rabbitMQService = new RabbitMQService(); using (IConnection connection = _rabbitMQService.GetRabbitMQConnection()) { using (IModel channel = connection.CreateModel()) { channel.QueueDeclare( queue: queueName, durable: false, exclusive: false, autoDelete: false, arguments: null ); string jsonMessage = JsonConvert.SerializeObject(persons); byte[] body = Encoding.UTF8.GetBytes(jsonMessage); channel.BasicPublish( exchange: "", routingKey: queueName, basicProperties: null, body: body ); Console.WriteLine("{0} queue'su üzerine mesaj yazıldı.", queueName); } } }
static void Main(string[] args) { RabbitMQService.Start(ConfigHelper.RabbitMQURI); var consumer = new RabbitMQConsumer( ConfigHelper.SubQueueNames, new PubSubDispatcher <RabbitMQEventStream>(AutofacConfig.Container), ConfigHelper.QueueId); consumer.Start(); Parallel.ForEach(Enumerable.Range(0, ConfigHelper.ProducerBatchCount), (index) => { RabbitMQProducer.Publish( ConfigHelper.QueueId, new PressureTestContentEvent() { Content = $"{DateTime.Now.ToString("yyyyMMdd HH:mm:ss.fff")}-{index}", CreateDateTime = DateTime.Now }); }); Console.Read(); RabbitMQService.Stop(); }
public Publisher(string queueName, IList <Person> persons) { _rabbitMqService = new RabbitMQService(); using (var connection = _rabbitMqService.GetRabbitMQConnection()) { using (var channel = connection.CreateModel()) { channel.QueueDeclare(queueName, false, false, false, null); String jsonified = JsonConvert.SerializeObject(persons); byte[] personsBuffer = Encoding.UTF8.GetBytes(jsonified); channel.BasicPublish("", queueName, null, personsBuffer); Console.WriteLine("{0} queue'su üzerine {1} mesajı yazıldı.", queueName, "Yazıldı"); } } }
public Consumer(string queueName) { _rabbitMQService = new RabbitMQService(); using (IConnection connection = _rabbitMQService.GetRabbitMQConnection()) { using (IModel channel = connection.CreateModel()) { channel.QueueDeclare( queue: queueName, durable: false, exclusive: false, autoDelete: false, arguments: null ); var consumer = new EventingBasicConsumer(channel); consumer.Received += (model, ea) => {// Received event'i sürekli listen modunda olacaktır. try { var body = ea.Body.Span; string message = Encoding.UTF8.GetString(body); List <Person> persons = JsonConvert.DeserializeObject <List <Person> >(message); Console.WriteLine("{0} isimli queue üzerinden gelen mesaj geldi", queueName); foreach (var item in persons) { Console.WriteLine("{0} isimli queue üzerinden gelen mesaj: \"{1}\"", queueName, $"{item.Name} {item.SurName}"); } } catch (Exception ex) { Console.WriteLine("{0} consumer hata mesajı:", ex.Message); } }; channel.BasicConsume( queue: queueName, autoAck: true, consumer: consumer); Console.WriteLine("Veri alımı tamamlandı."); } } }
public Consumer(string queueName, string test) { _rabbitMQService = new RabbitMQService(); using (var connection = _rabbitMQService.GetRabbitMQConnection()) { using (var channel = connection.CreateModel()) { var consumer = new EventingBasicConsumer(channel); // Received event'i sürekli listen modunda olacaktır. consumer.Received += (model, ea) => { var body = ea.Body; var message = Encoding.UTF8.GetString(body); Console.WriteLine("{0} isimli queue üzerinden gelen mesaj: \"{1}\"", queueName, message); }; channel.BasicConsume(queueName, false, consumer); Console.ReadLine(); } } }
public Consumer(string queueName) { _rabbitMQService = new RabbitMQService(); using (var connection = _rabbitMQService.GetRabbitMQConnection()) { using (var channel = connection.CreateModel()) { var consumer = new EventingBasicConsumer(channel); // Received event'i sürekli listen modunda olacaktır. consumer.Received += (model, ea) => { var body = ea.Body; var message = Encoding.UTF8.GetString(body); var test = JsonConvert.DeserializeObject <List <Person> >(message); Console.WriteLine("{0} isimli # queue üzerinden gelen mesaj: \"{1}\"", queueName, "test"); }; //MessageReceiver messageReceiver = new MessageReceiver(channel); channel.BasicConsume(queueName, true, consumer); // channel.BasicConsume(queueName, false, messageReceiver); Console.ReadLine(); } } }