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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
如何使用 IntelliJ IDEA 编写 Spark 应用程序(Sc
本教程展示了如何在IntelliJIDEA中使用Maven编写和运行一个简单的Spark应用程序(例如WordCount程序),本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧2024-11-11
Java MyBatis传出参数resultType和resultMap解读
这篇文章主要介绍了Java MyBatis传出参数resultType和resultMap解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-12-12
java基础之Collection与Collections和Array与Arrays的区别
这篇文章主要介绍了java基础之Collection与Collections和Array与Arrays的区别的相关资料,本文主要说明两者的区别以防大家混淆概念,需要的朋友可以参考下2017-08-08


最新评论