閱讀984 返回首頁    go 財經資訊


發送延時消息__Java SDK_TCP 接入(專業)_消息隊列 MQ-阿裏雲

目前支持的域包括公網測試、華東1、華北2、華東2、華南1。MQ 客戶端請使用最新版本1.2.2。

延時消息用於指定消息發送到MQ服務器端後,延時一段時間才被投遞到客戶端進行消費(例如3秒後才被消費),適用於解決一些消息生產和消費有時間窗口要求的場景,或者通過消息觸發延遲任務的場景,類似於延遲隊列。

代碼示例

  1. public class ProducerDelayTest {
  2. public static void main(String[] args) {
  3. Properties properties = new Properties();
  4. properties.put(PropertyKeyConst.ProducerId, "XXX");// 您在控製台創建的 Producer ID
  5. properties.put(PropertyKeyConst.AccessKey, "XXX");// AccessKey 阿裏雲身份驗證,在阿裏雲服務器管理控製台創建
  6. properties.put(PropertyKeyConst.SecretKey, "XXX");// SecretKey 阿裏雲身份驗證,在阿裏雲服務器管理控製台創建
  7. //公有雲生產環境:https://onsaddr-internal.aliyun.com:8080/rocketmq/nsaddr4client-internal
  8. //公有雲公測環境:https://onsaddr-internet.aliyun.com/rocketmq/nsaddr4client-internet
  9. //杭州金融雲環境:https://jbponsaddr-internal.aliyun.com:8080/rocketmq/nsaddr4client-internal
  10. //杭州深圳雲環境:https://mq4finance-sz.addr.aliyun.com:8080/rocketmq/nsaddr4client-internal
  11. properties.put(PropertyKeyConst.ONSAddr,
  12. "https://onsaddr-internal.aliyun.com:8080/rocketmq/nsaddr4client-internal");//此處以公有雲生產環境為例
  13. Producer producer = ONSFactory.createProducer(properties);
  14. // 在發送消息前,必須調用 start 方法來啟動 Producer,隻需調用一次即可。
  15. producer.start();
  16. Message msg = new Message( //
  17. // Message Topic
  18. "Topic",
  19. // Message Tag, 可理解為Gmail中的標簽,對消息進行再歸類,方便Consumer指定過濾條件在MQ服務器過濾
  20. "tag",
  21. // Message Body 可以是任何二進製形式的數據, MQ 不做任何幹預,需要 Producer 與 Consumer 協商好一致的序列化和反序列化方式
  22. "Hello MQ".getBytes());
  23. // 設置代表消息的業務關鍵屬性,請盡可能全局唯一。
  24. // 以方便您在無法正常收到消息情況下,可通過 MQ 控製台查詢消息並補發。
  25. // 注意:不設置也不會影響消息正常收發
  26. msg.setKey("ORDERID_100");
  27. // 延時時間單位為毫秒(ms),指定一個時刻,在這個時刻之後才能被消費,這個例子表示 3秒 後才能被消費
  28. long delayTime = 3000;
  29. msg.setStartDeliverTime(System.currentTimeMillis() + delayTime);
  30. // 發送消息,隻要不拋異常就是成功
  31. SendResult sendResult = producer.send(msg);
  32. System.out.println("Message Id:" + sendResult.getMessageId());
  33. // 在應用退出前,銷毀Producer對象<br>
  34. // 注意:如果不銷毀也沒有問題
  35. producer.shutdown();
  36. }
  37. }

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

  上一篇:go 發送事務消息__Java SDK_TCP 接入(專業)_消息隊列 MQ-阿裏雲
  下一篇:go 發送定時消息__Java SDK_TCP 接入(專業)_消息隊列 MQ-阿裏雲