Java集成rocketMQ

1. RocketMQ名词解释

1.1 主题(Topic)

表示一类消息的集合,每个主题包含若干条消息,是RocketMQ进行消息订阅的基本单位。

1.2 标签(Tag)

为消息设置的标志,用于同一topic下区分不同类型的消息。可以根据topic+Tag实现消息的精细化生产和消费。

1.3 消息(Message)

消息系统所传输信息的物理载体,生产和消费数据的最小单位,每条消息必须属于一个主题。每个消息拥有唯一的Message ID,且可以携带具有业务标识的Key。系统提供了通过Message ID和Key查询消息的功能。

1.4 订阅与发布

消息的发布是指某个生产者向某个topic发送消息;消息的订阅是指某个消费者关注了某个topic中带有某些tag的消息,进而从该topic消费数据。

2. RocketMQ安装

3. 系统环境变量配置

  • 变量名:ROCKETMQ_HOME
  • 变量值:MQ解压路径\MQ文件夹名

4. 启动

  • 启动NAMESERVER
    Cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqnamesrv.cmd’,启动NAMESERVER。成功后会弹出提示框,此框勿关闭
    在这里插入图片描述
    注意:需在Java8环境下启动

5. RocketMQ插件部署

  • 下载
  • 编译
    用CMD进入‘\rocketmq-console’文件夹,执行maven命令编译生成jar包
mvn clean package -Dmaven.test.skip=true
  • 启动
    编译成功之后,Cmd进入‘target’文件夹,执行命令,启动‘rocketmq-console-ng-2.0.0.jar’。
java -jar rocketmq-console-ng-2.0.0.jar
  • 测试
    浏览器中输入‘127.0.0.1:配置端口’,成功后即可查看。
    eg:http://127.0.0.1:8088
    在这里插入图片描述

6. Springboot整合RocketMQ

5.1 引入依赖

<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-spring-boot-starter</artifactId>
    <version>2.2.2</version>
</dependency>

5.2 创建生产者

@RocketMQMessageListener
消息监听器,消费者通过参数topic、selectorExpression来监听生产者发送消息的topic和tags

@Slf4j
@RocketMQMessageListener(consumerGroup = "rocketmq-consumer",
        topic = "rocketmqTest",
        selectorExpression = "tags"
)
public class ConsumerManagerImpl implements ConsumerManager {
    
    @Override
    public void onMessage(String msg) {
        log.info("msg: {}", msg);
    }
}

5.4 yml配置

#rocketmq配置
rocketmq:
  producer:
    group: rocketmq
  name-server: 127.0.0.1:9876

5.5 创建测试接口

@RestController
@RequestMapping("/MQTest") 
public class MQController {

    @Resource
    ProducerManagerImpl producerManager;

    @GetMapping("/sendMessage")
    public String sendMessage(@RequestParam("message") String message){
        producerManager.sendMessage("rocketmqTest", message);
        return "消息发送完成";
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个用于创建独立的、基于生产级别的Spring应用程序的框架。而RocketMQ是一个开源的分布式消息中间件,具有高吞吐量、高可用性、可伸缩性和容错性等特点。下面是Spring Boot集成RocketMQ服务端的步骤: 1. 添加RocketMQ依赖:在Spring Boot项目的pom.xml文件中添加RocketMQ的依赖,例如: ```xml <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> ``` 2. 配置RocketMQ:在Spring Boot项目的application.properties或application.yml文件中配置RocketMQ相关属性,例如: ```yaml rocketmq.name-server=127.0.0.1:9876 rocketmq.producer.group=my-group rocketmq.consumer.group=my-group ``` 3. 创建RocketMQ生产者:使用RocketMQ提供的注解和配置,创建一个RocketMQ生产者,例如: ```java @Component @RocketMQProducer(topic = "my-topic", producerGroup = "my-group") public class MyProducer { @Autowired private RocketMQTemplate rocketMQTemplate; public void sendMessage(String message) { rocketMQTemplate.convertAndSend("my-topic", message); } } ``` 4. 创建RocketMQ消费者:使用RocketMQ提供的注解和配置,创建一个RocketMQ消费者,例如: ```java @Component @RocketMQMessageListener(topic = "my-topic", consumerGroup = "my-group") public class MyConsumer implements RocketMQListener<String> { @Override public void onMessage(String message) { System.out.println("Received message: " + message); } } ``` 5. 启动应用程序:运行Spring Boot应用程序,RocketMQ生产者将发送消息到指定的主题,RocketMQ消费者将接收并处理消息。 这样,你就完成了Spring Boot集成RocketMQ服务端的配置和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值