/// <summary> /// 向顺序队列发送消息 /// </summary> /// <param name="errMsg"></param> /// <param name="msgBody"></param> /// <param name="tag"></param> /// <param name="msgKey"></param> /// <param name="key"></param> /// <returns></returns> public bool SendOrderMessage(out string errMsg, string msgBody, string tag = "RegisterLog", string msgKey = "", string key = "test") { bool retFlag = false; errMsg = string.Empty; if (null != factoryProperty) { ons.Message msg = new ons.Message(factoryProperty.FactoryInfo.getPublishTopics(), tag, msgBody); msg.setKey(string.IsNullOrEmpty(msgKey) ? Guid.NewGuid().ToString() : msgKey); try { ons.SendResultONS sendResult = orderProducer.send(msg, key); errMsg = sendResult.getMessageId(); retFlag = true; } catch (Exception ex) { errMsg = ex.ToString(); } } else { errMsg = "factoryProperty must not be empty"; } return(retFlag); }
public override ons.OrderAction consume(ons.Message value, ons.ConsumeOrderContext context) { var tag = value.getTag(); var messageId = value.getMsgID(); var key = value.getKey(); Byte[] text = Encoding.Default.GetBytes(value.getBody()); Console.WriteLine($"{tag},{key},{messageId},{Encoding.UTF8.GetString(text)}"); return(ons.OrderAction.Success); }