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.mzph.cn/diannao/49066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kafka Producer之事务性

文章目录 1. 跨会话幂等性失效2. 开启事务3. 事务流程原理 事务性可以防止跨会话幂等性失效&#xff0c;同时也可以保证单个生产者的指定数据&#xff0c;要么全部成功要么全部失败&#xff0c;不限分区。不可以多个生产者共用相同的事务ID。 1. 跨会话幂等性失效 幂等性开启…

Spring MVC笔记

Java 版本: JDK17 Eclipse: eclipse-jee-2023-12-R-win32-x86_64.zip Tomcat 10 JDK17采用springframework 6 *必须考虑兼容性问题,所以JDK 和spring framework不要乱搭配 初步创建Maven Project 安装包 修改poem.xml <dependency><groupId>org.springframework…

Linux中tomcat下载教程

一.安装tomcat 1.安装 EPEL 仓库&#xff1a; sudo yum install epel-release2.安装 Tomcat&#xff1a; sudo yum install tomcat3.启动 Tomcat 服务&#xff1a; sudo systemctl start tomcat4.启用 Tomcat 服务开机启动&#xff1a; sudo systemctl enable tomcat5.检查…

大语言模型-Bert-Bidirectional Encoder Representation from Transformers

一、背景信息&#xff1a; Bert是2018年10月由Google AI研究院提出的一种预训练模型。 主要用于自然语言处理&#xff08;NLP&#xff09;任务&#xff0c;特别是机器阅读理、文本分类、序列标注等任务。 BERT的网络架构使用的是多层Transformer结构&#xff0c;有效的解决了长…

计算机网络知识-面试点1

1. 三握四挥 定义&#xff1a; 在计算机网络中&#xff0c;特别是TCP/IP协议中&#xff0c;“三握”指的是三次握手&#xff08;Three-way Handshake&#xff09;&#xff0c;而“四挥”则指的是四次挥手&#xff08;Four-way Handshake&#xff09;。这两个过程分别用于TCP连接…

LangChain的使用详解

一、 概念介绍 1.1 Langchain 是什么&#xff1f; 官方定义是&#xff1a;LangChain是一个强大的框架&#xff0c;旨在帮助开发人员使用语言模型构建端到端的应用程序&#xff0c;它提供了一套工具、组件和接口&#xff0c;可简化创建由大型语言模型 (LLM) 和聊天模型提供…

Qt实战:专栏内容介绍及目录

1、专栏介绍 Qt相比Visual Studio (VS) 的优势主要体现在跨平台能力、‌丰富的功能、‌高性能、‌现代UI设计、‌社区支持和企业支持等方面。‌ 跨平台能力&#xff1a;‌Qt 允许应用程序在多个操作系统上编译和运行&#xff0c;‌无需为每个平台编写特定的代码&#xff0c;‌…

构建高效园区导览系统:基于3DGIS与物联网技术的实现方案

园区导航的挑战与机遇 在现代化的大型园区中&#xff0c;随着面积的不断扩张和布局的日益复杂&#xff0c;传统的纸质地图已难以满足日益增长的导航需求。每栋楼、每层楼都有着不同的办公室&#xff0c;不同的业务。这种低效的寻路过程不仅影响了客户的来访体验&#xff0c;也…

SSD基本架构与工作原理

SSD的核心由一个或多核心的CPU控制器、DRAM缓存以及多个NAND闪存芯片组成。CPU控制器负责管理所有读写操作&#xff0c;并通过DRAM缓存存储映射表等元数据&#xff0c;以加速寻址过程。 NAND闪存则是数据存储的实际介质&#xff0c;其组织结构从大到小依次为通道&#xff08;包…

MySQL_JDBC

目录 一、JDBC常用的接口和类 1.1 数据库连接 Connection 1.2 Statement 对象 二、JDBC的使用 总结 【Java 的数据库编程】 JDBC 即 Java Database Connectivity (Java数据库连接)&#xff0c;是一种用于执行 SQL 语句的 Java API。这个 API 由 java.sql.*,javax.sql.* …

数据结构(Java):七大排序算法【详解】

目录 1、排序的概念 1.1 排序 1.2 排序的稳定性 1.3 内部排序&外部排序 1.4 各排序算法总结对比 2、 插入排序 2.1 &#x1f338;直接插入排序 2.2 &#x1f338;希尔排序 3、 选择排序 3.1 &#x1f338;直接选择排序 3.2 直接选择排序优化 3.3 &#x1f338;…

如何给7Z分卷文件设置密码?简单几步给文件加上安全锁

在压缩7Z文件的时候&#xff0c;如果文件比较大&#xff0c;很多小伙伴都会把文件压缩成7Z分卷文件&#xff0c;那想要保护7Z分卷文件&#xff0c;要如何设置密码呢&#xff1f;不清楚的小伙伴&#xff0c;一起来看看吧&#xff01; 我们可以使用7-Zip解压缩文件&#xff0c;在…

qt初入门9:qt记录日志的方式,日志库了解练习(qInstallMessageHandler,qslog, log4qt)

项目中用到qt&#xff0c;考虑有需要用到去记录日志&#xff0c;结合网络&#xff0c;整理一下&#xff0c;做记录。 简单了解后&#xff0c;qt实现日志模块思考&#xff1a; 1&#xff1a;借助qt自带的qInstallMessageHandler重定向到需要的目的地。 2&#xff1a;自己封装一…

openmv学习笔记(24电赛备赛笔记)

#openmv简介 openmv一种小型&#xff0c;可编程机器视觉摄像头&#xff0c;设计应用嵌入式应用和计算边缘&#xff0c;是图传模块&#xff0c;或者认为是一种&#xff0c;具有图像处理功能的单片机&#xff0c;提供多种接口&#xff08;I2C SPI UART CAN ADC DAC &#xff0…

高翔【自动驾驶与机器人中的SLAM技术】学习笔记(三)基变换与坐标变换;微分方程;李群和李代数;雅可比矩阵

一、基变换与坐标变换 字小,事不小。 因为第一反应:坐标咋变,坐标轴就咋变呀。事实却与我们想象的相反。这俩互为逆矩阵。 第一次读没有读明白,后面到事上才明白。 起因是多传感器标定:多传感器,就代表了多个坐标系,多个基底。激光雷达和imu标定。这个标定程序,网上,…

Bootstrap5 Navbar多级下拉框

实现目标&#xff1a; 1、访问 Bootstrap5-navbar 2、修改dropdown为多级 <!DOCTYPE HTML> <html lang"en-US"> <head><meta charset"UTF-8"><title></title><link rel"stylesheet" href"https…

(7) cmake 编译C++程序(二)

文章目录 概要整体代码结构整体代码小结 概要 在ubuntu下&#xff0c;通过cmake编译一个稍微复杂的管理程序 整体代码结构 整体代码 boss.cpp #include "boss.h"Boss::Boss(int id, string name, int dId) {this->Id id;this->Name name;this->DeptId …

05 HTTP Tomcat Servlet

文章目录 HTTP1、简介2、请求数据格式3、响应数据格式 Tomcat1、简介2、基本使用3、Maven创建Web项目4、IDEA使用Tomcat Servlet1、简介2、方法介绍3、体系结构4、urlPattern配置5、XML配置 HTTP 1、简介 HTTP概念 HyperText Transfer Protocol&#xff0c;超文本传输协议&am…

鸿蒙 动态共享包HSP的创建和引用

1.什么是动态共享包HSP HSP&#xff08;Harmony Shared Package&#xff09;是动态共享包&#xff0c;可以包含代码、C库、资源和配置文件&#xff0c;通过HSP可以实现代码和资源的共享。HSP不支持独立发布&#xff0c;而是跟随其宿主应用的APP包一起发布&#xff0c;与宿主应…

【Django5】模板引擎

系列文章目录 第一章 Django使用的基础知识 第二章 setting.py文件的配置 第三章 路由的定义与使用 第四章 视图的定义与使用 第五章 二进制文件下载响应 第六章 Http请求&HttpRequest请求类 第七章 会话管理&#xff08;Cookies&Session&#xff09; 第八章 文件上传…