阿里云MQ JAVA-SDK简单封装

只是对阿里MQ的ajva-SDK做了个简单封装。发布者直接调用:封装类:MQProducerUtils/***发送集群MQ多个消费者只会有一个消费者接收到。*@paramtopic可理解为一级类别*@paramtag可理解为Gmail中的标签,对消息进行再归类,方便Consumer指定过滤条件在ONS服务器过滤*@parambody消息体*@return消息的唯一ID如果返回为null就表示发送失败,主流程不需要管返回*/publicstaticStringsendMQ(Stringtopic,Stringtag,Stringbody)/***设置延迟发送MQ*@paramtopic可理解为一级类别*@paramtag可理解为Gmail中的标签,对消息进行再归类,方便Consumer指定过滤条件在ONS服务器过滤*@parambody消息体*@paramdelayTime延迟的时间单位毫秒*@return消息的唯一ID如果返回为null就表示发送失败,主流程不需要管返回*/publicstaticStringsendMQDelayTime(Stringtopic,Stringtag,Stringbody,longdelayTime)/***指定时间发送MQ*@paramtopic可理解为一级类别*@paramtag可理解为Gmail中的标签,对消息进行再归类,方便Consumer指定过滤条件在ONS服务器过滤*@parambody消息体*@paramdate指定时间发送消息*@return消息的唯一ID如果返回为null就表示发送失败,主流程不需要管返回*/publicstaticStringsendMqDelayDate(Stringtopic,Stringtag,Stringbody,Datedate)监听者启动监听MQConsumerListener/***集群订阅消息*@paramtopicMQ主题*@paramtag二级类别*@paramcallBack回调包名+类名*@paramconsumerId订阅者ID*/publicstaticvoidMQListener(Stringtopic,Stringtag,finalMQCallBackcallBack,StringconsumerId)/***广播的方式发送MQ*@paramtopicMQ主题*@paramtag二级类别*@paramcallback回调包名+类名*@paramconsumerId订阅者ID*/publicstaticvoidMQPubSubListener(finalStringtopic,finalStringtag,finalMQCallBackcallBack,StringconsumerId)注意订阅关系的不一致问题错误示例一:不用JVM同一个订阅组(CID-ONS-FAQ)订阅的TOPIC不同(分别是ONS-FAQ-TOPIC-1、ONS-FAQ-TOPIC-2)错误示例二:不同JVM同一订阅组(CID-ONS-FAQ)订阅的TOPIC相同,但Tag不同(分别NM-ONS-FAQ-1、NM-ONS-FAQ-2)建议解决方案请确保在不同JVM中使用相同的ConsumerId启动多个Consumer时,配置的Topic和Tag是一致的。参见:https://help.aliyun.com/document_detail/29641.html?spm=5176.doc29631.6.192.TFFNwm启动多个程序,CIDtopictag必须是一套比方说您有四个程序启动集群模式:(4个程序一起瓜分消息)程序1:CID1topic1tag1程序2:CID1topic1tag1程序3:CID1topic1tag1程序4:CID1topic1tag1广播模式:(前面两个程序一组瓜分消息,后面两个程序一组瓜分消息,这两个组都能收到相同消息)程序1:CID1topic1tag1程序2:CID1topic1tag1程序3:CID2topic1tag1程序4:CID2topic1tag1 <无> .CodeEntity .code_pieces ul.piece_anchor{width:25px;position:absolute;top:25px;left:-30px;z-index:1000;}.CodeEntity .code_pieces ul.piece_anchor li{width:25px;background: #efe;margin-bottom:2px;}.CodeEntity .code_pieces ul.piece_anchor li{border-left:3px #40AA63 solid;border-right:3px #efe solid;}.CodeEntity .code_pieces ul.piece_anchor li:hover{border-right:3px #40AA63 solid;border-left:3px #efe solid;}.CodeEntity .code_pieces ul.piece_anchor li a{color: #333;padding: 3px 10px;}.CodeEntity .code_pieces .jump_to_code{visibility:hidden;position:relative;}.CodeEntity .code_pieces .code_piece:hover .jump_to_code{visibility:visible;}.CodeEntity .code_pieces .code_piece:hover .jump_to_code a{text-decoration:none;}.CodeEntity .code_pieces h2 i{float:right;font-style:normal;font-weight:normal;}.CodeEntity .code_pieces h2 i a{font-size:9pt;background: #FFFFFF;color:#00A;padding: 2px 5px;text-decoration:none;}

阿里云MQ JAVA-SDK简单封装

相关文章:

你感兴趣的文章:

标签云: