private void PublishMessage(AgentBrokerPayload data) { var context = data.Context ?? ApplicationMessageContext; var message = _messageConverter.ConvertMessage(data.Payload, context, data.Ordinal, data.Offset); _messagePublisher.PublishMessage(message); // TODO: Hook into offThread }
public ICollection <JObject> ReadObjects() { //SEND var message = "Not important"; _messagePublisher.PublishMessage("ReadNotes", message); //MAYBE only send the ACK once got Notes from db AND sent to queue, so its not too chatty? //It just says, OK API, you can consume now?) //OR just maybe if I am lucky, just consume straight away, //and it is intelligent enough to wait? yes. //BUT what if lots of requests? How does it know THAT is its message? //Perhaps it needs a guid? //OR perhaps, just each user, gets their own queue? //Yes that is possible... Makes sense in fact. Yes I think so... var receivedMessage = _messageConsumer.ConsumeMessage(); //var jObjects = JObject.Parse(receivedMessage); //Does not work, because it reads it as one object. var jObjects = JsonConvert.DeserializeObject <List <JObject> >(receivedMessage); var objects = new List <JObject>(); for (int i = 0; i < jObjects.Count; i++) { objects.Add(jObjects[i] as JObject); } return(objects); }
private void ReadObjectsAndPublishMessage() { var objects = _objectReader.ReadObjects(); var message = JsonConvert.SerializeObject(objects, Formatting.Indented); _messagePublisher.PublishMessage(message); ResultsPublished?.Invoke(this, new EventArgs()); }
/// <summary> /// 发布消息,处理成功完后返回true,其他返回false /// </summary> /// <param name="publisher"></param> /// <param name="message"></param> /// <returns></returns> protected virtual bool Publish(IMessagePublisher publisher, IMessage message) { if (publisher == null || message == null) { return(false); } publisher.PublishMessage(message); return(true); }
private static void Publish(IMessagePublisher publisher, string customerName, string customerCode) { Console.WriteLine(); try { var customer = new Customer() { Id = Guid.NewGuid(), Name = customerName, Code = customerCode }; var message = new NewMessage(type: "Customer", data: JsonConvert.SerializeObject(customer), routingKey: ""); publisher.PublishMessage(message); Console.WriteLine($"Customer {customer.Name} has been published."); } catch (Exception e) { Console.WriteLine(e); } Console.WriteLine(); }
public void DeleteObject(int id) { var message = id.ToString(); _messagePublisher.PublishMessage("DeleteNote", message); }
public void CreateObject(JObject jObject) { var message = jObject.ToString(); _messagePublisher.PublishMessage(message); }
public void UpdateObject(JObject jObject) { var message = jObject.ToString(); _messagePublisher.PublishMessage("UpdateNote", message); }