直接跳到内容
本页目录

作者:lightning
更新于:5/23/2023

MQ消息

配置

目前支持的消息队列类型有:

  • redis :redis消息队列
  • jms :java消息队列
  • synchronous :同步方式消息
  • discard:丢弃消息

在yml中配置:ab:simple-mq:message-queue-type:

扩展新的队列类型

MQ模块以组件化的形式在ab-component模块中

  1. 在枚举 com.dstz.component.mq.engine.config.AbMessageQueueType
    中添加新的消息类型并增加对应的装配
  2. 增加对应生产者类、 实现 com.dstz.component.mq.api.producer.JmsProducer
    接口中的发送消息方法
  3. 增加对应消费者类、 继承公共消息队列抽象类 com.dstz.component.mq.engine.consumer.AbstractMessageQueue
    实现新的消费者消息处理

MQ消息的具体业务消息实现

目前消息的具体业务实现有:

  • 邮件发送
  • 站内消息发送
  • 手机短消息发送
  • 钉钉消息发送
  • 企业微信消息发送
  • 微信公众号消息发送

后端调用消息发送接口

com.dstz.component.msg.api.MsgApi

void sendMsg(MsgDTO msgDTO)

MsgDTO属性列表
名称描述参数类型必填
subject消息标题String
templateCode模板编码String
templateParam模板参数String
receivers消息的接收者List<SysIdentity>
businessId业务id,发送站内信所需参数String
innerMsgType业务类型发送站内信所需参数String
msgType消息实现的具体类型,如emailList
object系统可用参数Object
extendVars扩展参数map

void sendMsg(List<MsgDTO> msgDTOList)

批量发送

批量发送和单条发送参数dto一样,只是需要传入list,可以批量发送消息

业务消息扩展

新增一种业务消息,比如飞书消息,或者推送到其他系统

  • ab-component-msg-engine 模块 新增业务消息handler
    该handler需要继承 com.dstz.component.mq.msg.engine.handler.AbsNotifyMessageHandler
    然后重写对应方法即可

前端 ab-msg-type 组件 即可使用新增的业务消息类型
如下图所示:

MQ消息 has loaded