RocketMQ学习一入门使用

从0开始学习RocketMQ,这一节主要是windows下环境部署,以及我理解的基本使用流程。

安装

1.下载地址:下载 | RocketMQ

注意,如果是windows环境下需要下载的是二进制文件,也就是这一列。

RocketMQ学习一入门使用_第1张图片

2.下载后解压到自己想要的目录。

3.配置环境变量。在系统变量中新建。注意,要保证变量值中填写路径的下一级就是bin目录了。

RocketMQ学习一入门使用_第2张图片

 注意:如果不是jdk8的版本,在启动rocketmq的时候可能会出现闪退的问题,所以最好是在jdk1.8的环境下进行配置。

4.启动namesrv:进入bin目录,双击打开mqnamesrv.cmd。

5.在bin目录下打开命令行窗口,输入: 

start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

但是我这里又报错了,所以只好去掉autoCreateTopicEnable=true.

反正现在就算是启动了吧,注意4、5步这两个命令行窗口都不要关闭。

然后就开始在项目中进行相关配置了。

项目使用

1.在pom.xml中引入相关依赖,但是尴尬的是不论哪个版本,我都不能引入,如果大家有解决方法可以给我评论一下!

引入依赖格式:


    org.apache.rocketmq
    rocketmq-client
    4.5.1

 2.配置application.yml或者application.properties文件。(图源右下角博主)

# chatgpt给的配置
# Name Server地址
rocketmq.name-server=127.0.0.1:9876

# 生产者组名
rocketmq.producer.group=my-group

# 消费者组名
rocketmq.consumer.group=my-group

 3.创建生产者类和消费者类。简单示例如下:

import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class MyProducer {

    @Autowired
    private RocketMQTemplate rocketMQTemplate;

    public void sendMessage(String message) {
        rocketMQTemplate.convertAndSend("my-topic", message);
    }
}

消费者:

import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;

@Component
@RocketMQMessageListener(topic = "my-topic", consumerGroup = "my-group")
public class MyConsumer implements RocketMQListener {

    @Override
    public void onMessage(String message) {
        System.out.println("Received message: " + message);
    }
}

4.调用生产者和消费者。

一旦RocketMQ配置正确并且相关组件正在运行,可以在代码中调用生产者和消费者。

对于生产者,可以在需要发送消息的地方调用生产者的方法。在上面的示例中,我们创建了一个名为MyProducer的生产者,并在其中定义了一个sendMessage方法。可以通过获取MyProducer实例并调用sendMessage方法来发送消息。例如:

@Autowired
private MyProducer myProducer;

public void someMethod() {
    myProducer.sendMessage("Hello, RocketMQ!");
}

5.那么消费者在接收到消息的时候就会自动进行处理。所以生产者是显式调用的,但是消费者是无需用户主动调用的(那应该就是容器来处理)。

但是非常尴尬的是依赖引入失败,所以后续都是纸上谈兵。明天再看看怎么回事,争取把小demo跑通吧。

参考链接:RocketMQ 入门使用-腾讯云开发者社区-腾讯云

windows安装RocketMQ_rocketmq windows_book多得的博客-CSDN博客

你可能感兴趣的:(rocketmq,学习)