欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > springboot rocketmq配置生产者和消息者

springboot rocketmq配置生产者和消息者

2025/5/16 7:39:16 来源:https://blog.csdn.net/iteye_10392/article/details/145937370  浏览:    关键词:springboot rocketmq配置生产者和消息者

在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将自动接收并处理这些消息。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com