有容器应用,消息接入指南
目前有容器应用支持两种消息,一种是消息扩展点,一种是消息推送,代码处理上两者没有区别,区别是消息的事件和内容。也有部分消息事件是两种都支持的,使用哪种都可以。
代码实现
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 的值即为业务标识。