Example #1
0
 public void SendOrderMessage(string tag, string byteBody, string shardingKey)
 {
     try
     {
         Message       msg        = new Message(factoryInfo.getPublishTopics(), tag, byteBody);
         SendResultONS sendResult = orderProducer.send(msg, shardingKey);
         Console.WriteLine("send success {0}", sendResult.getMessageId());
     }
     catch (Exception ex)
     {
         Console.WriteLine("send failure{0}", ex.ToString());
     }
 }
Example #2
0
        static void Main(string[] args)
        {
            ONSFactoryProperty factoryInfo = new ONSFactoryProperty();

            factoryInfo.setFactoryProperty(factoryInfo.getProducerIdName(), "PID_1234");
            Console.WriteLine("ProducerId:{0}, \nConsumerId:{1},\nPublishTopics:{2},\nMsgContent:{3},\nAccessKey::{4},\nSecretKey::{5} ",
                              factoryInfo.getProducerId(), factoryInfo.getConsumerId(), factoryInfo.getPublishTopics(),
                              factoryInfo.getMessageContent(), factoryInfo.getAccessKey(), factoryInfo.getSecretKey());

            ONSFactory onsfactory = new ONSFactory();

            OrderProducer pProducer = onsfactory.getInstance().createOrderProducer(factoryInfo);

            pProducer.start();

            string key = "abc";

            for (int i = 0; i < 20; ++i)
            {
                Message msg = new Message("Ram_Topic_2", "TagA", "msg from for loop => " + i);
                try
                {
                    SendResultONS sendResult = pProducer.send(msg, key);
                    Console.WriteLine("=> send success : {0} ", sendResult.getMessageId());
                }
                catch (ONSClientException e)
                {
                    Console.WriteLine("\nexception of sendmsg:{0}", e.what());
                }
            }

            Thread.Sleep(1000 * 100);
            pProducer.shutdown();
        }
Example #3
0
        /// <summary>
        /// 发送分区顺序消息
        /// </summary>
        /// <param name="shardingKey">分区Key</param>
        /// <param name="topic">主题</param>
        /// <param name="content">内容</param>
        /// <param name="tag">消息标签</param>
        /// <param name="key">消息Key</param>
        /// <returns></returns>
        public string SendMessage(string shardingKey, string topic, string content, string tag = "", string key = "")
        {
            var message = ComposeMessage(topic, content, tag, key);

            var sendResult = producer.send(message, shardingKey);

            return(sendResult.getMessageId());
        }
        /// <summary>
        /// 代理OrderProducer实例的send方法
        /// </summary>
        /// <param name="message">Message实例</param>
        /// <param name="parameter">parameter参数</param>
        /// <returns>SendResultONS实例</returns>
        public SendResultONS send(Message message, object parameter)
        {
            SendResultONS sendResultONS = null;

            if (_producer != null)
            {
                string shardingKey = parameter.ToString();
                DebugUtil.Debug("shardingKey:" + shardingKey);
                sendResultONS = _producer.send(message, shardingKey);
            }
            return(sendResultONS);
        }
Example #5
0
        /// <summary>
        ///     发送消息
        /// </summary>
        /// <param name="message">消息主体</param>
        /// <param name="shardingKey"></param>
        /// <param name="tag">消息标签</param>
        /// <param name="key">每条消息的唯一标识</param>
        public SendResultONS Send(string message, string shardingKey, string tag = null, string key = null)
        {
            if (string.IsNullOrWhiteSpace(tag))
            {
                tag = "";
            }
            if (string.IsNullOrWhiteSpace(key))
            {
                key = Guid.NewGuid().ToString();
            }
            var msg = new Message(_factoryInfo.getPublishTopics(), tag, key, message);

            return(_producer.send(msg, shardingKey));
        }
Example #6
0
        public static void SendOrderMessage(string msgBody, String tag = "RegisterLog", String key = "test")
        {
            Message msg = new Message(Ons_Topic, tag, msgBody);

            byte[] data = new byte[10];
            msg.setBody(data, 10);
            msg.setKey(Guid.NewGuid().ToString());
            try
            {
                SendResultONS sendResult = _orderproducer.send(msg, key);
                Console.WriteLine("send success {0}", sendResult.getMessageId());
            }
            catch (Exception ex)
            {
                Console.WriteLine("send failure{0}", ex.ToString());
            }
        }