コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
        }