Spring Cloud 整合 RocketMQ 主要涉及到消息的发送和接收。以下是一个简单的例子,展示如何使用 Spring Cloud Stream 来发送和接收消息。
- 添加依赖到你的
pom.xml
文件中:
<dependencies>
<!-- Spring Cloud Stream RocketMQ Binder -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rocketmq</artifactId>
</dependency>
<!-- 其他依赖 -->
</dependencies>
- 配置
application.yml
文件:
spring:
cloud:
stream:
rocketmq:
binder:
namesrv-addr: 127.0.0.1:9876 # RocketMQ NameServer 地址
bindings:
output:
destination: test-topic # 指定消息发送的 Topic
content-type: text/plain # 设置消息类型
input:
destination: test-topic # 指定消息监听的 Topic
content-type: text/plain # 设置消息类型
group: test-group # 设置消费者组
- 发送消息的示例代码:
@EnableBinding(Source.class)
public class MessageSender {
@Autowired
private MessageChannel output;
public void send(String message) {
output.send(MessageBuilder.withPayload(message).build());
}
}
- 接收消息的示例代码:
@EnableBinding(Sink.class)
public class MessageReceiver {
@StreamListener(Sink.INPUT)
public void receive(String message) {
System.out.println("Received message: " + message);
}
}
确保 RocketMQ 服务器正在运行并可以正常访问。以上代码提供了一个简单的消息发送和接收的例子,你可以根据实际需求进行扩展和修改。