1.发送消息

https://help.aliyun.com/document_detail/29547.html?spm=a2c4g.11186623.0.0.43df9029etJ14J#section-q63-74s-m5s

2.订阅消息

https://help.aliyun.com/document_detail/29551.htm?spm=a2c4g.11186623.0.0.52522ccelLDAht#concept-2047092

  1. import com.aliyun.openservices.ons.api.Action;
  2. import com.aliyun.openservices.ons.api.ConsumeContext;
  3. import com.aliyun.openservices.ons.api.Consumer;
  4. import com.aliyun.openservices.ons.api.Message;
  5. import com.aliyun.openservices.ons.api.MessageListener;
  6. import com.aliyun.openservices.ons.api.ONSFactory;
  7. import com.aliyun.openservices.ons.api.PropertyKeyConst;
  8. import java.util.Properties;
  9. public class ConsumerTest {
  10. public static void main(String[] args) {
  11. Properties properties = new Properties();
  12. // 您在控制台创建的Group ID。
  13. properties.put(PropertyKeyConst.GROUP_ID, "XXX");
  14. // AccessKey ID,阿里云身份验证。获取方式,请参见本文前提条件中的获取AccessKey。
  15. properties.put(PropertyKeyConst.AccessKey, "XXX");
  16. // AccessKey Secret,阿里云身份验证。获取方式,请参见本文前提条件中的获取AccessKey。
  17. properties.put(PropertyKeyConst.SecretKey, "XXX");
  18. // 设置TCP协议接入点,进入控制台的实例详情页面的TCP协议客户端接入点区域查看。
  19. properties.put(PropertyKeyConst.NAMESRV_ADDR,
  20. "XXX");
  21. // 集群订阅方式(默认)。
  22. // properties.put(PropertyKeyConst.MessageModel, PropertyValueConst.CLUSTERING);
  23. // 广播订阅方式。
  24. // properties.put(PropertyKeyConst.MessageModel, PropertyValueConst.BROADCASTING);
  25. Consumer consumer = ONSFactory.createConsumer(properties);
  26. consumer.subscribe("TopicTestMQ", "TagA||TagB", new MessageListener() { //订阅多个Tag
  27. public Action consume(Message message, ConsumeContext context) {
  28. System.out.println("Receive: " + message);
  29. return Action.CommitMessage;
  30. }
  31. });
  32. //订阅另外一个Topic,如需取消订阅该Topic,请删除该部分的订阅代码,重新启动消费端即可。
  33. consumer.subscribe("TopicTestMQ-Other", "*", new MessageListener() { //订阅全部Tag。
  34. public Action consume(Message message, ConsumeContext context) {
  35. System.out.println("Receive: " + message);
  36. return Action.CommitMessage;
  37. }
  38. });
  39. consumer.start();
  40. System.out.println("Consumer Started");
  41. }
  42. }

image.png