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

Python基于windows操作RocketMQ

RocketMQ 是一款高性能的分布式消息中间件,广泛用于高并发和大规模数据处理的场景。虽然 RocketMQ 的官方 SDK 主要基于 Java,但我们可以借助 JPype 在 Python 中调用 Java 代码,从而实现 Python 端的消息生产与消费。

本文将从 环境准备、RocketMQ 依赖下载、Python 代码实现 三个方面,详细讲解如何在 Python 中使用 RocketMQ。


1. 环境准备

在开始之前,我们需要确保 Java 环境Python 依赖 已经正确安装。

1.1 安装 Java

RocketMQ 依赖 Java 运行环境,因此你需要安装 JDK 8 或以上

Windows 用户

  1. 访问 Oracle JDK 下载页面 或者 OpenJDK
  2. 下载并安装 JDK
  3. 配置环境变量(如 JAVA_HOME

Linux / macOS 用户

# 安装 OpenJDK 11 
sudo apt update && sudo apt install openjdk-11-jdk -y # Ubuntu 
brew install openjdk@11 # macOS

安装完成后,使用以下命令检查 Java 版本:

java -version

如果输出类似于 openjdk version "11.0.x",说明 Java 环境已正确安装。


1.2 安装 Python 及依赖

我们需要 Python 3.9+,并安装 JPype 以便在 Python 中调用 Java 代码:

pip install jpype1

可以使用以下命令检查是否安装成功:

import jpype
print(jpype.isJVMStarted())  # False 说明 JVM 还未启动

2. 下载 RocketMQ 依赖

RocketMQ 的 Java SDK 依赖多个 JAR 包,我们需要下载并引入它们。

2.1 下载 RocketMQ

  1. 下载 RocketMQ 二进制发行包:​访问 Apache RocketMQ 官方下载页面,在 4.9.4 版本下,选择合适的二进制包进行下载。​

  2. 解压缩下载的文件:​下载完成后,解压缩该文件。​

  3. 查找 rocketmq-client-4.9.4.jar:​在解压后的目录中,您可以找到 rocketmq-client-4.9.4.jar 文件。​

请注意,RocketMQ 的客户端库可能需要其他依赖库才能正常运行。​建议您参考 RocketMQ 官方文档 以获取更多信息。

解压后,我们需要 lib 目录 下的 JAR 包。

2.2 获取 RocketMQ JAR 包

如果你已经安装了 RocketMQ,JAR 包通常位于:

rocketmq-all-4.9.4-bin-release/lib/

其中包括:

  • rocketmq-client-4.9.4.jar
  • rocketmq-common-4.9.4.jar
  • rocketmq-remoting-4.9.4.jar
  • fastjson-1.2.73.jar

lib 目录路径记录下来,稍后 Python 代码会用到。


3. 使用 Python 操作 RocketMQ

现在我们可以使用 JPype 调用 RocketMQ 进行 消息生产与消费

3.1 启动 JVM 并加载 JAR

Python 代码需要手动启动 JVM,并引入 RocketMQ 的 JAR 文件:

import os
import glob
import jpype
import jpype.imports
from jpype import JClass

# 指定 JVM 路径
JVM_PATH = r"E:\Java\bin\server\jvm.dll"  # 请替换为你的 jvm.dll 路径

# 指定 RocketMQ JAR 包目录
LIB_DIR = r"C:\Users\EDY\Downloads\rocketmq-all-4.9.4-bin-release\lib"

# 获取所有 JAR 文件
jar_files = glob.glob(os.path.join(LIB_DIR, "*.jar"))
classpath_str = os.pathsep.join(jar_files)

# 启动 JVM
if not jpype.isJVMStarted():
    jpype.startJVM(JVM_PATH, "-Djava.class.path=" + classpath_str)

print("[成功] RocketMQ JAR 加载完成")

3.2 生产者(发送消息)


3.3 消费者(接收消息)


4. 运行 Python RocketMQ 客户端

  1. 启动 RocketMQ NameServer 和 Broker 如果是本地运行,需要启动 RocketMQ:
    nohup sh bin/mqnamesrv &
    nohup sh bin/mqbroker -n localhost:9876 &
    
  2. 运行 Python 代码 运行 Python 消费者:
    python rocketmq_consumer.py
    
    运行 Python 生产者:
    python rocketmq_producer.py
    


5. 总结

本文介绍了如何使用 JPype 在 Python 中调用 RocketMQ,主要包括:

安装 Java 和 Python 依赖
下载 RocketMQ 并获取 JAR 包
在 Python 中启动 JVM 并加载 RocketMQ
编写生产者和消费者代码
运行并测试消息发送与消费

完整消费者生产者代码

现在,你已经可以在 Python 中使用 RocketMQ 进行消息队列处理了!🚀

相关文章:

  • Git基础篇 - Linux(CentOS)源码安装Git实例
  • 【视频】从USB摄像头推流至视频服务器(SRS、mediamtx)
  • json中文编码问题
  • 01LVGL图形界面库
  • Tauri + Vite + SvelteKit + TypeScript 跨平台开发全流程指南(Linux)
  • FANformer:融合傅里叶分析网络的大语言模型基础架构
  • 【C语言】memset(含常见用途、注意事项)
  • AWS Bedrock 正式接入 DeepSeek-R1 模型:安全托管的生成式 AI 解决方案
  • 2025年【A特种设备相关管理】免费试题及A特种设备相关管理模拟考试题库
  • 哪些业务场景更适合用MongoDB?何时比MySQL/PostgreSQL好用?
  • JavaScript性能优化
  • HTML基础
  • 深度学习实验
  • upload-labs-master通关攻略(1~4)
  • Linux内核如何和设备树协同工作的?
  • Oracle中Unique(id)和id int unique的区别
  • Redis常用数据结构及命令详解:从基础到进阶
  • Qt Creator插件系统详解及插件开发实战
  • 【后端】【ubuntu】 ubuntu目录权限查看的几种方法
  • 《旅游与摄影》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • 2025中国品牌日上海践行活动启动,将建设品牌生态交互平台
  • 视频丨习近平同普京会谈:共同弘扬正确二战史观,维护联合国权威和地位
  • 百济首次实现季度营业利润扭亏,泽布替尼销售额近57亿元
  • 中科院院士魏辅文已卸任江西农业大学校长
  • 三大交易所多举措支持科创债再扩容,约160亿证券公司科创债有望近期落地
  • AI聊天机器人涉多起骚扰行为,专家呼吁加强伦理设计与监管