public void ReceiveStructureMainQueueTest() { ReceiverSubscribeCallback callback = (message) => { Console.WriteLine(string.Format("Message received: \"{0}\"", message)); JObject messageObj = (JObject)JsonConvert.DeserializeObject(message); string action = messageObj.GetValue("Action").ToObject <string>(); var messageConcrete = messageObj.GetValue("MessageData").ToObject <MessageDataConcrete>(); return(false); }; Factory.Receiver.subscribe(callback); }
public void ReceiveMainQueueTest() { ReceiverSubscribeCallback callback = (message) => { Console.WriteLine(string.Format("Message received: \"{0}\"", message)); return(true); }; Factory.Receiver.subscribe(callback); Assert.Throws <DuplicateSubscriberException>(() => { Factory.Receiver.subscribe(callback); }); }
public void ReceiveCustomExchangeTest() { ReceiverSubscribeCallback callback = (message) => { Console.WriteLine(string.Format("Callback Message received: \"{0}\"", message)); return(true); }; Factory.GetReceiverCustomExchange("customExchange1").subscribe(callback); Assert.Throws <DuplicateSubscriberException>(() => { Factory.GetReceiverCustomExchange("customExchange1").subscribe(callback); }); Factory.GetReceiverCustomExchange("customExchange2").subscribe(callback); }
public override void subscribe(ReceiverSubscribeCallback callback) { if (!listening) { var consumer = new EventingBasicConsumer(channel); consumer.Received += (model, ea) => { var body = ea.Body; var message = Encoding.UTF8.GetString(body); var result = callback(message); if (result) { channel.BasicAck(ea.DeliveryTag, false); } }; channel.BasicConsume(queue: this.queue, autoAck: false, consumer: consumer); listening = true; } else { throw new DuplicateSubscriberException(); } }
public abstract void subscribe(ReceiverSubscribeCallback callback);