win安装rocketmq
-
官网下载二进制包:https://rocketmq.apache.org/download
-
解压到不包含中文及空格的目录,配置环境变量
ROCKETMQ_HOME
4. 修改runbroker.cmd
和runserver.cmd
文件
文件地址在rocketmq安装目录下的bin文件夹中。
如果不修改可能会遇见以下报错信息,错误:找不到或无法加载主类
。
修改如下图所示,为classpath
添加引号,原因是windows上装的jdk路径可能有空格,网上有其他解决方案,但是对我不管用。
5. 先启动name server,再启动broker
在rocketmq的bin目录下打开cmd,输入以下命令
start mqnamesrv.cmd
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
如下图所示:
此时会弹出2个新的窗口,如下图所示,则表示启动成功。不是以集群的方式启动,name server和broker都是单机,只适合用于学习。
验证是否安装成功
继续在bin目录下,启动2个新的cmd,分别输入以下命令,启动2个程序。
启动消费者
set NAMESRV_ADDR=localhost:9876
tools.cmd org.apache.rocketmq.example.quickstart.Consumer
启动生产者
set NAMESRV_ADDR=localhost:9876
tools.cmd org.apache.rocketmq.example.quickstart.Producer
修改
可能会报错,如下图所示,需要修改mq的jvm内存,改小一点。
具体原因可参考博客
https://blog.csdn.net/niceHack/article/details/129015284
修改文件runbroker.cmd
文件:
然后重新启动broker 和 生产者程序,成功后如下图所示:
springboot中使用rocketmq
创建maven项目,导入依赖。
如果后续报错,极有可能是依赖版本冲突,重新选择一个版本,通常最新的都没问题!!
<!-- https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot-starter -->
<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.2.3</version>
</dependency>
田间yml配置
#rocketmq配置
rocketmq:name-server: 127.0.0.1:9876producer:group: test-producer-group
写个方法测试一下:
public class MqOrderController {@Resourceprivate RocketMQTemplate rocketMQTemplate;@Testpublic void sendMessage() {rocketMQTemplate.syncSend("my-topic","我是一条消息");}
}
@Component
@RocketMQMessageListener(topic = "my-topi",consumerGroup = "my-consumer-group")public class ConsumerListener implements RocketMQListener<String> {@Overridepublic void onMessage(String orderInfo) {System.out.println(orderInfo);}
}
常见报错分析
- 报错是maven依赖版本和安装的mq版本不对,需要改为正确的版本(最常见)
这个错误通常spring会抛出异常无法创建bean或者nullpoint异常 - yml中的配置没写对,例如IP或端口
- rocketmq启动后的控制台不能关闭
- 上述都没问题的情况下,重启nameserver和broker往往就能解决
参考
https://blog.csdn.net/quanzhan_King/article/details/130783862
https://blog.csdn.net/qq_37400096/article/details/126679607
https://rocketmq.apache.org/download/
https://github.com/WENZIZZHENG/spring-boot-demo/tree/master/spring-boot-mq-rocketmq/spring-boot-rocketmq-simple