有容器应用,消息接入指南

目前有容器应用支持两种消息,一种是消息扩展点,一种是消息推送,代码处理上两者没有区别,区别是消息的事件和内容。也有部分消息事件是两种都支持的,使用哪种都可以。

代码实现

1)在 app 控制台页面上,点击消息订阅,找到您想处理的扩展点,点击列表项右侧的订阅:

根据您的需求来订阅相关的消息,消息的说明可以参考最下方提供的消息扩展点文档和消息推送文档。如果不想接收消息,取消订阅即可,不需要删除代码。

2)在生成项目的 biz 模块下创建一个服务类,这里我们创建名称为 MessageHandlerImpl 的扩展点实现类来实现订单创建消息的接口:

 public class MessageHandlerImpl implements MessageHandler {
      @Override
      public void handle(NotifyMessage message) {
          //在这里编写需要扩展的功能代码
          OrderMsgDTO orderMsgDTO = JSON.parseObject(message.getData(), OrderMsgDTO.class);
          //do something
      }
  }

消息扩展点中实现类固定是 implements MessageHandler,方法固定是 handle(NotifyMessage message),message 中获取的 getData() 数据类型参考消息扩展点文档消息推送文档

3)给这个实现类添加扩展点注解(@Topic),注解需要填写消息 topic 的值:

  @Topic("fans_unionid_create") 

  public class MessageHandlerImpl implements MessageHandler {

      @Override
      public void handle(NotifyMessage message) {
          //在这里编写需要扩展的功能代码
          if (message.getTopic().equals("order_create")) {
              FansUnionidCreateDTO fansUnionidCreateDTO = JSON.parseObject(message.getData(), FansUnionidCreateDTO.class);
              //do something
          }
      }
  }

topic 的值可以从列表中获取,也可以从下方的文档中心获取。对于消息推送来说,topic 的值即为业务标识。

image.png

消息扩展点的消息内容和 topic 值参考消息扩展点文档

消息推送的消息内容和 topic 值参考参考消息推送文档