电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

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

来源:金蝶云社区作者:金蝶2024-09-231

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


消息队列中间件(MQ)是苍穹系统的重要组件,合理设计队列,规范使用场景,可以解决很多复杂业务场景,如应用解耦、异步消息、流量削峰等问题,最终实现高性能、高可用、可伸缩和一致性的架构。同时,苍穹MQ支持客户二次开发,遵循一定的开发规范即可快速实现。


本期小编送上一份贴心指南,教你使用MQ进行二次开发




基本介绍


苍穹容器启动过程中,系统会加载标准产品的消息队列配置文件,路径如下:


5.0.023版本及以上:bos-mq.jar/kd/bos/mq/bos_mqqueueconfig.xml文件;
其余版本:bos-mq.jar/kd/bos/mq/mqqueueconfig.xml文件;


随后,系统将加载客户的队列配置。


这是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 end


2. 普通消息


//不支持事务
     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格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信