要在Spring Boot应用中整合RocketMQ,你需要使用rocketmq-spring-boot-starter
。以下是配置发送和接收消息的基本步骤:
- 添加
rocketmq-spring-boot-starter
依赖到你的pom.xml
文件中。
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.2.1</version>
</dependency>
- 在
application.properties
或application.yml
中配置RocketMQ的基本属性。
# application.properties
spring.rocketmq.name-server=127.0.0.1:9876
spring.rocketmq.producer.group=my-group
- 创建一个配置类来定义消息生产者。
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RocketMQConfig {
@Autowired
private RocketMQTemplate rocketMQTemplate;
public void sendMessage(String topic, String tag, String message) {
rocketMQTemplate.send(topic, tag, message);
}
}
- 创建一个消息监听器来接收消息。
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
@Component
@RocketMQMessageListener(topic = "your-topic", consumerGroup = "your-consumer_group")
public class ConsumerListener implements RocketMQListener<String> {
@Override
public void onMessage(String message) {
// 处理接收到的消息
System.out.println("Received message: " + message);
}
}
- 在你的服务中使用
RocketMQConfig
发送消息,消息将会被ConsumerListener
接收和处理。
@Service
public class YourService {
@Autowired
private RocketMQConfig rocketMQConfig;
public void sendMessage() {
rocketMQConfig.sendMessage("your-topic", "your-tag", "Hello, RocketMQ!");
}
}
确保你的RocketMQ服务器正在运行,并且your-topic
已经创建。当你调用sendMessage
方法时,消息将被发送到指定的Topic,并且由ConsumerListener
接收处理。