最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot集成RocketMQ過(guò)程及使用示例詳解

 更新時(shí)間:2023年07月12日 11:25:55   作者:Geroge1226  
這篇文章主要為大家介紹了springboot集成RocketMQ過(guò)程及使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1、 說(shuō)明

Springboot集成RocketMQ時(shí)需要特別注意版本問(wèn)題,否則會(huì)出現(xiàn)各類啟動(dòng)報(bào)錯(cuò)問(wèn)題,這里使用的springboot 版本:2.2.7.RELEASE, RocketMq版本:2.2.3

2、集成過(guò)程

pom文件引用

這里網(wǎng)上有單獨(dú)在引用rocketmq-client依賴包的,是不需要的,已經(jīng)包含在rocketmq-spring-boot-starter依賴包中。

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.7.RELEASE</version>
    </parent>
 <dependency>
      <groupId>org.apache.rocketmq</groupId>
      <artifactId>rocketmq-spring-boot-starter</artifactId>
      <version>2.1.1</version>
 </dependency>

yml文件配置

spring:
  # 數(shù)據(jù)庫(kù)信息
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/longfamily?useUnicode=true&characterEncoding=utf-8&userSSL=false
    username: root
    password: 123456
##RocketMq配置
rocketmq:
  #nameservice服務(wù)器地址(多個(gè)以英文逗號(hào)隔開)
 # 注意高版本下使用的是name-server,低版本使用的是 nameServer。
  name-server: 10.0.164.31:9876
  producer:
    group: test

這里把spring配置也貼出來(lái),是想說(shuō)明rocketMq與spring在yaml文件中是同一級(jí)別(容易當(dāng)成spring節(jié)點(diǎn)下面的子節(jié)點(diǎn))。否則會(huì)啟動(dòng)報(bào)錯(cuò)。

消費(fèi)者

@Component
@RocketMQMessageListener(consumerGroup = "H", topic = RocketMQTopic.TOPIC_ORDER)
public class TestMQListener implements RocketMQListener<String> {
    @Override
    public void onMessage(String message) {
        System.out.println("消費(fèi)者收到信息:==="+message);
    }
}

消費(fèi)者是通過(guò)RocketMQMessageListener來(lái)監(jiān)聽Topc, 通過(guò)實(shí)現(xiàn)RocketMQListener <T>接口實(shí)現(xiàn)其onMessage(T t)方法來(lái)處理接收到的消息

生產(chǎn)者

這里同意封裝了RocketMQ發(fā)送消息的工具類。

@Slf4j
@Component
public class RocketMQUtils {
    @Resource
    private RocketMQTemplate rocketMQTemplate;
    /**
     * 異步發(fā)送MQ消息
     */
    public void sendMessage(Long id, final String topic, final String context, Boolean isExternal) {
        try {
            log.debug("Sending message to MQ topic {}, context {}", topic, context);
            SendCallback callback = new SendCallback() {
                @Override
                public void onSuccess(SendResult sendResult) {
                    //打印msgId用來(lái)以備查驗(yàn),外部消息發(fā)送mq成功則任務(wù)置為成功
                    log.info("Success sending message to MQ: {}, context: {}, msgId: {}", topic, context, sendResult.getMsgId());
                }
                @Override
                public void onException(Throwable e) {
                    log.error("Failed to send message to MQ {}, msg {}, cause {}", topic, context, Throwables.getStackTraceAsString(e));
                }
            };
            rocketMQTemplate.asyncSend(topic, context, callback);
        } catch (Exception e) {
            log.error("Failed to send message to MQ! message: {}, stackTrace: {}", context, Throwables.getStackTraceAsString(e));
        }
    }
}

測(cè)試發(fā)送消息接口

@RestController
@RequestMapping("/api/test")
public class CommonTestController {
    @Autowired
    private RocketMQUtils rocketMQUtils;
    // mq
    @PostMapping("/mq/send")
    public void operateRocketMQ(){
        rocketMQUtils.sendMessage(1L, RocketMQTopic.TOPIC_ORDER,"firstContext",true);
    }

運(yùn)行結(jié)果

[2023-02-27 10:17:30.741] [DEBUG] [T:http-nio-8061-exec-3][tid=][Class:c.g.c.u.RocketMQUtils -> sendMessage]|Sending message to MQ topic topic-order, context firstContext
[2023-02-27 10:17:30.760] [INFO] [T:NettyClientPublicExecutor_2][tid=][Class:c.g.c.u.RocketMQUtils -> onSuccess]|Success sending message to MQ: topic-order, context: firstContext, msgId: 0000010169EE18B4AAC2881AB17B0001
消費(fèi)者收到信息:===firstContext

以上就是springboot集成RocketMQ過(guò)程及使用示例詳解的詳細(xì)內(nèi)容,更多關(guān)于springboot集成RocketMQ的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java?IDEA集成開發(fā)工具中英文切換圖文教程

    Java?IDEA集成開發(fā)工具中英文切換圖文教程

    相信很多小伙伴們剛接觸IDEA時(shí),看到一堆英文界面不知道如何下手,這篇文章主要給大家介紹了關(guān)于Java?IDEA集成開發(fā)工具中英文切換的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • MybatisPlus保存、讀取MySQL中的json字段失敗問(wèn)題及解決

    MybatisPlus保存、讀取MySQL中的json字段失敗問(wèn)題及解決

    這篇文章主要介紹了MybatisPlus保存、讀取MySQL中的json字段失敗問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • SpringBoot?實(shí)現(xiàn)微信推送模板的示例代碼

    SpringBoot?實(shí)現(xiàn)微信推送模板的示例代碼

    這篇文章主要介紹了SpringBoot?實(shí)現(xiàn)微信推送模板,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Java8新特性Stream流實(shí)例詳解

    Java8新特性Stream流實(shí)例詳解

    Stream流是數(shù)據(jù)渠道,用于操作數(shù)據(jù)源(集合、數(shù)組等)所生成的元素序列。這篇文章主要介紹了Java8新特性Stream流的相關(guān)資料,需要的朋友參考下吧
    2017-10-10
  • Java反射機(jī)制詳解

    Java反射機(jī)制詳解

    這篇文章主要介紹了Java反射機(jī)制,首先簡(jiǎn)單介紹了反射機(jī)制的預(yù)備知識(shí),進(jìn)一步分析了Java反射機(jī)制的原理、實(shí)現(xiàn)技巧與應(yīng)用方法,需要的朋友可以參考下
    2015-12-12
  • 詳解springboot如何更新json串里面的內(nèi)容

    詳解springboot如何更新json串里面的內(nèi)容

    這篇文章主要為大家介紹了springboot 如何更新json串里面的內(nèi)容,文中有詳細(xì)的解決方案供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-10-10
  • Spring Boot 啟動(dòng)端口如何啟動(dòng)

    Spring Boot 啟動(dòng)端口如何啟動(dòng)

    這篇文章主要介紹了Spring Boot 啟動(dòng)端口如何啟動(dòng)的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • java this引用逃逸詳解

    java this引用逃逸詳解

    這篇文章主要介紹了java this引用逃逸的相關(guān)資料,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-12-12
  • 基于Java?GUI?事件處理方式

    基于Java?GUI?事件處理方式

    這篇文章主要介紹了基于Java?GUI?事件處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • struts2+jsp+jquery+Jcrop實(shí)現(xiàn)圖片裁剪并上傳實(shí)例

    struts2+jsp+jquery+Jcrop實(shí)現(xiàn)圖片裁剪并上傳實(shí)例

    本篇文章主要介紹了struts2+jsp+jquery+Jcrop實(shí)現(xiàn)圖片裁剪并上傳實(shí)例,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01

最新評(píng)論

高雄市| 昭觉县| 广平县| 华宁县| 两当县| 临城县| 双桥区| 平乐县| 冷水江市| 北流市| 儋州市| 南陵县| 台南县| 大渡口区| 闽清县| 姚安县| 靖江市| 汝城县| 道真| 鞍山市| 湘乡市| 县级市| 靖西县| 彰化县| 家居| 铜山县| 永丰县| 巴塘县| 霸州市| 溧阳市| 无锡市| 汽车| 广东省| 胶州市| 肃南| 城市| 仁寿县| 自治县| 南部县| 正阳县| 汪清县|