SpringBoot项目嵌入RocketMQ的实现示例

 更新时间:2024年05月24日 11:10:21   作者:李三不四  
本文主要介绍了SpringBoot项目嵌入RocketMQ的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在Spring Boot中嵌入RocketMQ可以通过添加相应的依赖来完成。

首先需要在pom.xml文件中引入spring-boot-starter-amqp依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.rocketmq</groupId>
        <artifactId>rocketmq-spring-boot-starter</artifactId>
        <version>2.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
</dependencies>

然后,在application.properties或者application.yml配置文件中设置RocketMQ连接信息:

# RocketMQ服务器地址
rocketmq.name-server=127.0.0.1:9876
# 生产者分组
rocketmq.producer.group=my-group

最后,创建消息发送者(Producer)和消息接收者(Consumer)类,并使用@Autowired注解将其自动装载到Spring容器中。示例如下:

创建消息发送者类:

import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ProducerController {

    @Autowired
    private RocketMQTemplate rocketMQTemplate;    

    @GetMapping("/send")
    public String send(String message) {
        rocketMQTemplate.convertAndSend("test-topic", message);
        return "Message: '" + message + "' sent.";
    }

}

创建消息接收者类:

import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;

@Service
@RocketMQMessageListener(topic = "test-topic", consumerGroup = "my-consumer_test-topic")
public class ConsumerService implements RocketMQListener<String> {

    @Override
    public void onMessage(String message) {
        System.out.printf("------- StringConsumer received: %s \n", message);
    }
}

当调用/send接口时,会向"myQueue"队列发送消息;

MessageReceiver则会监听该队列,并处理接收到的消息。

查看控制台的输出来验证消息消费者是否可以正常接收消息

到此这篇关于SpringBoot项目嵌入RocketMQ的实现示例的文章就介绍到这了,更多相关SpringBoot嵌入RocketMQ内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java去除数组重复元素的四种方法

    java去除数组重复元素的四种方法

    本文给大家分享四种java去除数组重复元素的方法,每种方法通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-11-11
  • java实现点击按钮弹出新窗体功能

    java实现点击按钮弹出新窗体功能

    这篇文章主要为大家详细介绍了java实现点击按钮弹出新窗体功能,旧窗体不进行操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • idea项目实现移除和添加git

    idea项目实现移除和添加git

    本文指导读者如何从官网下载并安装Git,以及在IDEA中配置Git的详细步骤,首先,用户需访问Git官方网站下载适合自己操作系统的Git版本并完成安装,接着,在IDEA中通过设置找到git.exe文件以配置Gi
    2024-10-10
  • 如何使用 IntelliJ IDEA 编写 Spark 应用程序(Scala + Maven)

    如何使用 IntelliJ IDEA 编写 Spark 应用程序(Sc

    本教程展示了如何在IntelliJIDEA中使用Maven编写和运行一个简单的Spark应用程序(例如WordCount程序),本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • Java MyBatis传出参数resultType和resultMap解读

    Java MyBatis传出参数resultType和resultMap解读

    这篇文章主要介绍了Java MyBatis传出参数resultType和resultMap解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • java基础之Collection与Collections和Array与Arrays的区别

    java基础之Collection与Collections和Array与Arrays的区别

    这篇文章主要介绍了java基础之Collection与Collections和Array与Arrays的区别的相关资料,本文主要说明两者的区别以防大家混淆概念,需要的朋友可以参考下
    2017-08-08
  • Java 8中HashMap的底层原理解析

    Java 8中HashMap的底层原理解析

    HashMap作为Java中常用的数据结构之一,在JDK 1.8中经过了一系列的优化和改进,深入理解其底层原理,包括哈希算法、数组与链表结构、红黑树的引入等,有助于更好地使用和理解HashMap的性能特性,这篇文章主要介绍了Java 8中HashMap的底层原理,需要的朋友可以参考下
    2023-11-11
  • 一文让你彻底明白Java中的值传递和引用传递

    一文让你彻底明白Java中的值传递和引用传递

    这篇文章主要给大家介绍了关于Java中值传递和引用传递的相关资料,值传递是指在调用函数时将实际参数复制一份传递到函数中,引用传递是指在调用函数时将实际参数的引用直接传递到函数中,需要的朋友可以参考下
    2023-10-10
  • Java使用递归回溯完美解决八皇后的问题

    Java使用递归回溯完美解决八皇后的问题

    这篇文章主要介绍了Java基于循环递归回溯实现八皇后问题算法,结合具体实例形式分析了java的遍历、递归、回溯等算法实现八皇后问题的具体步骤与相关操作技巧,需要的朋友可以参考下
    2021-11-11
  • 使用spring的restTemplate注意点

    使用spring的restTemplate注意点

    这篇文章主要介绍了使用spring的restTemplate注意点,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论