苍穹MQ二次开发指南,收藏不迷路!

消息队列中间件(MQ)是苍穹系统的重要组件,合理设计队列,规范使用场景,可以解决很多复杂业务场景,如应用解耦、异步消息、流量削峰等问题,最终实现高性能、高可用、可伸缩和一致性的架构。同时,苍穹MQ支持客户二次开发,遵循一定的开发规范即可快速实现。
本期小编送上一份贴心指南,教你使用MQ进行二次开发~
基本介绍
苍穹容器启动过程中,系统会加载标准产品的消息队列配置文件,路径如下:
随后,系统将加载客户的队列配置。
这是MQ支持二次开发的整体逻辑,接下来为大家介绍具体的配置操作~
操作指引
前提条件
在进行二次开发之前,我们需注意以下事项:
1. 客户开发能增加消费队列,但不能替换标准产品消费者(相同region下如果queue name和标准产品相同,则该queue配置将不会被添加);
2. 配置文件需以.xml结尾。
+
配置文件
增加xml配置文件,如取名为custommqconfig.xml,放在包erkai下,开发工程中存放于以下目录:src/main/resources/erkai/custommqconfig.xml;
xml文件新增队列示例:
<root> <region name="fi" > <queue name="fi.gl.ercikaifa_queue" appid="gl"> <consumer class="kd.fi.gl.opplugin.ErKaiConsumer"></consumer> </queue> <queue name="fi.gl.ercikaifa_queue1" appid="gl"> <consumer class="kd.fi.gl.opplugin.ErKaiConsumer1"></consumer> </queue> </region> </root>
MC管理中心新增配置
1. key为mqConfigFiles.config;
2. 值为erkai.custommqconfig.xml;
3. 如果有多个文件,换行配置即可。
示例图如下:

图1 新增配置
注:需添加到通用配置的prop,此目录的value支持换行。
+
消息发送
根据需求配置对应的消息类型:
1. 事务消息
// Trascation begin 支持事务
MessagePublisher publisher = MQFactory.get().createSimplePublisher("demo", "demo_queue");
try {
publisher.publishInDbTranscation("hello world");
} finally {
//用完关闭
publisher.close();
}
// Transcation end2. 普通消息
//不支持事务
MessagePublisher pub = MQFactory.get().createSimplePublisher("demo", "demo_queue");
try {
pub.publish("hello world");
} finally{
//用完关闭
pub.close();
}消费消息
消费消息,可以参考以下示例执行:
public class DemoConsumer implements kd.bos.mq.MessageConsumer {
public void onMessage(Object message, String messageId, boolean resend, MessageAcker acker) {
苍穹MQ二次开发指南,收藏不迷路!
消息队列中间件(MQ)是苍穹系统的重要组件,合理设计队列,规范使用场景,可以解决很多复杂业务场景,如应用解耦、异步消息、流量削峰等问...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



