在Spring Boot中集成RocketMQ,你需要进行以下步骤来配置生产者和消费者。下面是一个简化的流程:
1. 添加依赖
首先,在你的pom.xml
文件中添加RocketMQ的依赖项。确保你使用的是与Spring Boot兼容的版本。
<dependencies><!-- 其他依赖 --><!-- RocketMQ Spring Boot Starter --><dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.2.3</version> <!-- 确认这是最新或适合你的版本 --></dependency><!-- 其他依赖 -->
</dependencies>
2. 配置application.yml
在src/main/resources/application.yml
中添加RocketMQ的相关配置。
rocketmq:name-server: 127.0.0.1:9876 # RocketMQ NameServer 地址producer:group: your-producer-group # 生产者的组名send-message-timeout: 3000 # 发送消息超时时间,默认3秒consumer:group: your-consumer-group # 消费者的组名
3. 创建生产者
你可以创建一个服务类来发送消息。
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class RocketMQProducer {@Autowiredprivate RocketMQTemplate rocketMQTemplate;public void sendMessage(String topic, String message) {rocketMQTemplate.convertAndSend(topic, message);}
}
4. 创建消费者
接下来,创建一个监听器来消费消息。
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;@Service
@RocketMQMessageListener(topic = "your-topic", consumerGroup = "your-consumer-group")
public class RocketMQConsumer implements RocketMQListener<String> {@Overridepublic void onMessage(String message) {System.out.printf("Receive message: %s %n", message);// 处理接收到的消息}
}
5. 使用
- 在需要发送消息的地方注入
RocketMQProducer
并调用其sendMessage
方法。 - 当有消息发布到指定的topic时,
RocketMQConsumer
将自动接收并处理这些消息。