閱讀809 返回首頁    go 小米 go 小米5


發送普通消息__C/C++ SDK_TCP 接入(專業)_消息隊列 MQ-阿裏雲

請參考以下示例代碼進行消息發送。

  1. #include "ONSFactory.h"
  2. #include "ONSClientException.h"
  3. using namespace ons;
  4. int main()
  5. {
  6. //創建producer和發送消息所必需的信息;
  7. ONSFactoryProperty factoryInfo;
  8. factoryInfo.setFactoryProperty(ONSFactoryProperty::ProducerId, "XXX");//您在控製台創建的Producer ID
  9. factoryInfo.setFactoryProperty(ONSFactoryProperty::PublishTopics,"XXX" );// 消息內容
  10. factoryInfo.setFactoryProperty(ONSFactoryProperty::MsgContent, "XXX");//消息內容
  11. factoryInfo.setFactoryProperty(ONSFactoryProperty::AccessKey, "XXX");//AccessKey 阿裏雲身份驗證,在阿裏雲服務器管理控製台創建
  12. factoryInfo.setFactoryProperty(ONSFactoryProperty::SecretKey, "XXX" );//SecretKey 阿裏雲身份驗證,在阿裏雲服務器管理控製台創建
  13. //create producer;
  14. Producer *pProducer = ONSFactory::getInstance()->createProducer(factoryInfo);
  15. //在發送消息前,必須調用start方法來啟動Producer,隻需調用一次即可;
  16. pProducer->start();
  17. Message msg(
  18. //Message Topic
  19. factoryInfo.getPublishTopics(),
  20. //Message Tag,可理解為Gmail中的標簽,對消息進行再歸類,方便Consumer指定過濾條件在MQ服務器過濾
  21. "TagA",
  22. //Message Body,不能為空,MQ不做任何幹預,需要Producer與Consumer協商好一致的序列化和反序列化方式
  23. factoryInfo.getMessageContent()
  24. );
  25. // 設置代表消息的業務關鍵屬性,請盡可能全局唯一
  26. // 以方便您在無法正常收到消息情況下,可通過 MQ 控製台查詢消息並補發
  27. // 注意:不設置也不會影響消息正常收發
  28. msg.setKey("ORDERID_100");
  29. //發送消息,隻要不拋出異常,就代表發送成功
  30. try
  31. {
  32. SendResultONS sendResult = pProducer->send(msg);
  33. }
  34. catch(ONSClientException & e)
  35. {
  36. //自定義處理exception的細節
  37. }
  38. // 在應用退出前,必須銷毀Producer對象,否則會導致內存泄露等問題
  39. pProducer->shutdown();
  40. return 0;
  41. }

最後更新:2016-11-23 16:04:04

  上一篇:go C/C++ SDK 環境準備__C/C++ SDK_TCP 接入(專業)_消息隊列 MQ-阿裏雲
  下一篇:go .NET SDK 環境準備__.NET SDK_TCP 接入(專業)_消息隊列 MQ-阿裏雲