RocketMQ 4.5.1 单机环境搭建以及生产消费测试
为了学习和方便测试,总是要启动一个单机版的。下载 http://rocketmq.apache.org/dowloading/releases/
1. 要先配置环境变量
ROCKETMQ_HOME E:\rocketmq-all-4.5.1-bin-release

2. 然后进入bin目录启动NameServer

3. 启动Broker
启动
E:\rocketmq-all-4.5.-bin-release\bin>mqbroker.cmd -n localhost: autoCreateTopicEnable=true
可能会出现一个错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_161\lib;C:\Program
解决方法:(打开bin目录的runserver.cmd)

修改成

重新启动,成功

4. 弄个管控台方便查看
https://github.com/apache/rocketmq-externals
下载好进入 rocketmq-console 目录打包
mvn clean package -Dmaven.test.skip=true


进入target目录,启动 (最后的参数的nameserver的地址,也就是我本机地址)
E:\rocketmq-externals-master\rocketmq-console\target>java -jar rocketmq-console-ng-1.0..jar --rocketmq.config.namesrvAddr=localhost:

最后访问 http://localhost:8080 即可

5. 简单测试
引入依赖
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.5.1</version>
</dependency>
一个简单的生产者
import org.apache.rocketmq.client.exception.MQBrokerException;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.remoting.common.RemotingHelper;
import org.apache.rocketmq.remoting.exception.RemotingException; import java.io.UnsupportedEncodingException; public class Test { public static void main(String[] args) throws MQClientException, UnsupportedEncodingException, RemotingException, InterruptedException, MQBrokerException {
// 设置生产者组名
DefaultMQProducer producer = new DefaultMQProducer("my_producer_group");
// 设置NameServer地址
producer.setNamesrvAddr("10.204.241.15:9876");
// 启动
producer.start();
for (int i = 0; i < 10; i++) {
// 创建一条消息,包含topic、tag以及消息内容
Message msg = new Message("MyTopic", "MyTag", ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET));
// 发送结果
SendResult sendResult = producer.send(msg);
System.out.printf("%s%n", sendResult);
}
// 不用的时候关闭
producer.shutdown();
} }
查看管控台

查看详细

下面一个简单的消费者
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.client.exception.MQBrokerException;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.remoting.common.RemotingHelper;
import org.apache.rocketmq.remoting.exception.RemotingException; import java.io.UnsupportedEncodingException;
import java.util.List; public class Test2 { public static void main(String[] args) throws MQClientException, UnsupportedEncodingException, RemotingException, InterruptedException, MQBrokerException {
// 设置生产者组名
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("my_producer_group");
// 设置NameServer地址
consumer.setNamesrvAddr("localhost:9876");
// 订阅的主题
consumer.subscribe("MyTopic", "*");
// 注册消息监听
consumer.registerMessageListener(new MessageListenerConcurrently() {
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) {
System.out.printf("%s Receive New Messages: %s %n", Thread.currentThread().getName(), msgs);
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
}
});
// 启动
consumer.start();
System.out.printf("Consumer Started.%n");
} }
控制台输出

不要关闭消费者,查看管控台

RocketMQ 4.5.1 单机环境搭建以及生产消费测试的更多相关文章
- windows7 spark单机环境搭建及pycharm访问spark
windows7 spark单机环境搭建 follow this link how to run apache spark on windows7 pycharm 访问本机 spark 安装py4j ...
- [转载] Hadoop和Hive单机环境搭建
转载自http://blog.csdn.net/yfkiss/article/details/7715476和http://blog.csdn.net/yfkiss/article/details/7 ...
- Kafka 0.7.2 单机环境搭建
Kafka 0.7.2 单机环境搭建当下载完Kafka后,进行解压,其目录结构如下: bin config contrib core DISCLAIMER examples lib lib_manag ...
- kafka单机环境搭建及其基本使用
最近在搞kettle整合kafka producer插件,于是自己搭建了一套单机的kafka环境,以便用于测试.现整理如下的笔记,发上来和大家分享.后续还会有kafka的研究笔记,依然会与大家分享! ...
- RocketMQ(1)---架构原理及环境搭建
一.架构简述 RocketMQ阿里开源的一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性, 万亿级容量和灵活的可伸缩性.跟其它中间件相比,RocketMQ的特点是纯JAVA实现,在发生宕机和 ...
- RocketMQ在Windows平台下环境搭建
一. 环境搭建 需要jdk1.6(以上) 64bit, maven, eclipse 二. RocketMQ项目下载 项目地址:https://github.com/alibaba/RocketM ...
- RocketMQ在linux平台下环境搭建
RocketMQ在linux下部署运行和window类似,只不过启动namesrv和broker是通过mqnamesrv.sh 和 mqbroker.sh来启动的. 一. 环境搭建 需要jdk1.6 ...
- HBase单机环境搭建
在搭建HBase单机环境之前,首先你要保证你已经搭建好Java环境: $ java -version java version "1.8.0_51" Java(TM) SE Run ...
- Hadoop —— 单机环境搭建
一.前置条件 Hadoop的运行依赖JDK,需要预先安装,安装步骤见: Linux下JDK的安装 二.配置免密登录 Hadoop组件之间需要基于SSH进行通讯. 2.1 配置映射 配置ip地址和主机名 ...
随机推荐
- Dubbo架构及原理
1.Dubbo:Dubbo是一个分布式服务框架,SOA治理方案. 主要功能有:高性能的NIO通讯以及协议集成.服务动态寻址与路由.软负载均衡与容错.依赖分析与降级 主要特点: 连通性:provider ...
- MongoDB db.stats()&&db.db.serverStatus()
db.stats() 示例图 参数解释: "db" : "test" ,表示当前是针对"test"这个数据库的描述.想要查看其他数据库, ...
- Wbbpack --3配置
Wbbpack --3配置 什么是webpack webpack 是一个现代 JavaScript 应用程序的静态模块打包(modulebundler)当 webpack 处理应用程序时,它会递归地构 ...
- ent 基本使用十八 查询谓词
ent 生成的代码包含了比较完整的查询谓词 字段谓词 Bool: =, != Numeric: =, !=, >, <, >=, <=, IN, NOT IN Time: =, ...
- python开发面试问题
python语法以及其他基础部分 可变与不可变类型: 浅拷贝与深拷贝的实现方式.区别:deepcopy如果你来设计,如何实现: __new__() 与 __init__()的区别: 你知道几种设计模式 ...
- on bind live delegate的区别
bind()----直接绑定在元素上 live()----通过冒泡的方式绑定到元素上,更适合于列表类型的绑定,和bind()相比,支持动态数据 delegate()----精确的小范围的适用事件代理, ...
- Java实现PV操作 | 哲学家进餐问题
运行结果: Java代码: public class Main { public static void main(String[] args) { Global global=new Global( ...
- 用户路径分析(User Path Analysis)
什么是用户路径? 用户路径即抽象用户在网站或APP中的访问路径.其可用桑基图展现,称为用户路径图. 什么是用户路径分析? 用户路径分析追踪用户从某个开始事件直到结束事件的行为路径,即对用户流向进行监测 ...
- 用JAVA把内存里的二进制文件打包成ZIP包
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.ut ...
- asp.netCore3.0 中使用app.UseMvc() 配置路由
一.新配置路由策略 在 Asp.Net Core 3.0中默认不再支持app.UserMvc() 方式配置路由 系统. 而是使用新的模式,点击查看asp.netCore3.0区域和路由配置变化 默认 ...