当前位置: 首页 > news >正文

linux中RocketMQ安装(单机版)及springboot中的使用

文章目录

  • 一、安装
    • 1.1、下载RocketMQ
    • 1.2、将下载包上传到linux中,然后解压
    • 1.3、修改runserver.sh的jvm参数大小(根据自己服务器配置来修改)
    • 1.4、启动mqnamesrv (类似于注册中心)
    • 1.5、修改runbroker.sh的jvm参数大小(根据自己服务器配置来修改)
    • 1.6、修改broker.conf
    • 1.7、启动broker(节点)
  • 二、springboot中的使用
    • 2.1、pom.xml中添加依赖
    • 2.2、application.yml配置
    • 2.3、生产者模板类
    • 2.4、消费者模板类
    • 2.5、消息调用测试
    • 2.6、成功案例


  • 前言:rocketmq-all-5.3.0-bin-release.zip版本为例

一、安装

1.1、下载RocketMQ

下载地址:https://rocketmq.apache.org/
在这里插入图片描述
在这里插入图片描述

1.2、将下载包上传到linux中,然后解压

  • 解压命令
unzip rocketmq-all-5.3.0-bin-release.zip

1.3、修改runserver.sh的jvm参数大小(根据自己服务器配置来修改)

# 在rocketmq-all-5.3.0-bin-release/bin下修改
vim runserver.sh# 修改jvm大小,如果服务器支持这么大的可以不用修改
# 将以下
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
# 修改为
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

1.4、启动mqnamesrv (类似于注册中心)

# 在rocketmq-all-5.3.0-bin-release/bin中启动
nohup ./mqnamesrv &

1.5、修改runbroker.sh的jvm参数大小(根据自己服务器配置来修改)

# 在rocketmq-all-5.3.0-bin-release/bin下修改
vim runbroker.sh# 修改jvm大小,如果服务器支持这么大的可以不用修改
# 将以下
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g"
# 修改为
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m"

1.6、修改broker.conf

# 在rocketmq-all-5.3.0-bin-release/conf下修改
vim broker.conf# 将以下参数加在文件最下方
# 自动创建topic
autoCreateTopicEnable = true
# namesrv注册地址
namesrvAddr=localhost:9876

1.7、启动broker(节点)

# 在rocketmq-all-5.3.0-bin-release/bin中启动
nohup ./mqbroker -c ../conf/broker.conf &

二、springboot中的使用

2.1、pom.xml中添加依赖

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

2.2、application.yml配置

rocketmq:name-server: 192.168.103.81:9876producer:group: my-consumer_testconsumer:group: my-consumer_test

2.3、生产者模板类

package com.yhgc.rocket;
import org.apache.rocketmq.spring.annotation.ExtRocketMQTemplateConfiguration;
import org.apache.rocketmq.spring.core.RocketMQTemplate;/*** @author 王青松*/
@ExtRocketMQTemplateConfiguration(nameServer = "${rocketmq.name-server}")
public class ExtRocketMQTemplate extends RocketMQTemplate {
}

2.4、消费者模板类

package com.yhgc.rocket;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;
@Service
@RocketMQMessageListener(topic = "testTopic", consumerGroup = "my-consumer_test")
public class TestConsumer implements RocketMQListener<String> {@Overridepublic void onMessage(String s) {System.out.println("============Received message: " + s);}
}

2.5、消息调用测试

package com.yhgc.controller;
import com.alibaba.fastjson.JSONObject;
import com.yhgc.rocket.ExtRocketMQTemplate;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;@RestController
@RequestMapping("/test1")
public class TestController {@Autowiredprivate ExtRocketMQTemplate rocketMQTemplate;@RequestMapping("/t2")@ResponseBodypublic JSONObject t2(){rocketMQTemplate.convertAndSend("testTopic", "Hello, RocketMQ!");JSONObject res = new JSONObject();res.put("code",200);res.put("msg","调用成功");return res;}
}

2.6、成功案例

在这里插入图片描述

http://www.lryc.cn/news/405043.html

相关文章:

  • 亚信安全终端一体化解决方案入选应用创新典型案例
  • Django视图与URLs路由详解
  • 怎么关闭 Windows 安全中心,手动关闭 Windows Defender 教程
  • 洛谷看不了别人主页怎么办
  • 邮件安全篇:企业电子邮件安全涉及哪些方面?
  • 软件测试09 自动化测试技术(Selenium)
  • 记录解决springboot项目上传图片到本地,在html里不能回显的问题
  • C++ 中 const 关键字
  • 客梯自动监测识别摄像机
  • 为什么那么多人学习AI绘画?工资香啊!
  • 国产JS库(js-tool-big-box)7月度总结
  • c++ 高精度加法(只支持正整数)
  • python键盘操作工具:ctypes、pyautogui
  • 计算机网络发展历史
  • 记录安装android studio踩的坑 win7系统
  • Python图形编程-PyGame快速入门
  • 邦芒宝典:8种方法调整职场心态
  • 华为OD2024D卷机试题汇总,含D量50%+,按算法分类刷题,事半功倍
  • Unity UGUI 之 Graphic Raycaster
  • 类和对象——相关的零碎知识
  • 【hadoop大数据集群 1】
  • TQSDRPI开发板教程:实现PL端的UDP回环与GPSDO
  • array.some() ==> 查找数组list中,是否有包含与当前currKey的值不一样的misId
  • 最简单的typora+gitee+picgo配置图床
  • 【黄啊码】GPT的相关名词解释
  • git stash 命令详解
  • txt格式单词导入有道词典生词本 (java代码方式)
  • 轨迹优化 | 基于ESDF的共轭梯度优化算法(附ROS C++/Python仿真)
  • 深入浅出WebRTC—ALR
  • BSV区块链技术现实应用原理解析