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()); } }
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(); }
/// <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); }
/// <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)); }
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()); } }