Window搭建部署RocketMQ及应用
安装运行
1、下载
建议下载发行版本,我试过自己编译,不知道为何报错了。
rocketmq-all-4.2.0-bin-release.zip
解压出来如下:
2、启动
NameServer
在启动之前需要配置系统环境,不然会报错。配置完成记得重启电脑
Please set the ROCKETMQ_HOME variable in your environment!
系统环境变量名:ROCKETMQ_HOME
每个人不一样,对比如上我的路径—-变量值:D:\rocketMQ
进入window命令窗口,进入bin目录下,执行
1 |
start mqnamesrv.cmd |
如上则NameServer启动成功。使用期间,窗口不要关机。
Broker
同理,再次开一个命令窗口,进入bin目录下,输入
1 |
start mqbroker.cmd -n localhost:9876 |
如上的 ip+port 是NameServer的进程,因为Nameser安装启动在本地,所以这里的 ip 是 localhost。
运行如上命令,可能会报如下错误。找不到或无法加载主类
如果出此情况,打开bin-->runbroker.cmd,修改%CLASSPATH%成
"%CLASSPATH%"
保存再次执行如上命令。执行成功后,窗口并不会显示什么,只是一个空窗口,代表成功。
书写代码
依赖RocketMQ
1 2 3 4 5 |
< dependency > < groupId >org.apache.rocketmq</ groupId > < artifactId >rocketmq-client</ artifactId > < version >4.2.0</ version > </ dependency > |
1、Consumer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public class Consumer { public static void main(String[] args) throws MQClientException { //这里填写group名字 DefaultMQPushConsumer consumer = new DefaultMQPushConsumer( "my-group-name-A" ); //NameServer地址 consumer.setNamesrvAddr( "localhost:9876" ); //1:topic名字 2:tag名字 consumer.subscribe( "topic-name-A" , "tag-name-A" ); consumer.registerMessageListener( new MessageListenerConcurrently() { @Override public ConsumeConcurrentlyStatus consumeMessage( List<MessageExt> msgs,ConsumeConcurrentlyContext context) { for (MessageExt msg : msgs) { System.out.println( new String(msg.getBody())); } return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; } }); consumer.start(); System.out.println( "Consumer Started!" ); } } |
先运行起来
2、Producer
注意匹配相应参数:
group topic tag
1 2 3 4 5 6 7 8 9 10 11 |
public class Producer { public static void main(String[] args) throws MQClientException,RemotingException,InterruptedException,MQBrokerException { DefaultMQProducer producer = new DefaultMQProducer( "my-group-name-A" ); producer.setNamesrvAddr( "localhost:9876" ); producer.start(); Message message = new Message( "topic-name-A" , "tag-name-A" , "Message : My blog address guozh.net" .getBytes()); producer.send(message); System.out.println( "Message sended" ); producer.shutdown(); } } |
再次运行 producer。
然后去 Consumer 看看是否收到消息。
监控平台
和其他的MQ一样,这里也提供了Window版本可视化的监控和 Linux监控。可以看到消息消费的具体情况,但是其实在实际开发过程中,Window显示的界面数据非常少,看不到多少内容。所以实际项目中都是看 Linux 数据。
我们这边项目看MQ消费情况也是在Linux上部署查看。
但是可以学习学习,为Linux的安装拓展画面感。
1、下载
其实这里提供了安装部署的方法,可以根据实际情况来
所以一步一步来吧,首先修改配置文件。修改application.properties,具体位置如下
rocketmq-console\src\main\resources
主要如上两处需要修改,平台部署的端口。我这里 8080 没被使用,这里就用 8080。下面是NameServer的启动位置,根据自己实际情况填写即可。
2、启动
首先,上面的 Tips 也说了,看看自己的Maven镜像是不是阿里云的,不然下载jar可能下载不下来或者很慢,这里不用说了。
进入命令窗口,进入rocketmq-console目录,执行。
1 |
mvn clean package -Dmaven .test.skip=true |
Build成功后,再次执行
1 |
java -jar target/rocketmq -console -ng -1.0.0.jar |
完成后,进入网址即可,比如我这是 localhost:8080
转载于:https://my.oschina.net/monroe/blog/3078150
- 点赞
- 收藏
- 分享
- 文章举报
- 基于Docker for Mac的Kubernetes本地环境搭建与应用部署
- 在Linux安装配置Tomcat 并部署web应用 (环境搭建+项目部署)(转载)
- 企业级监控软件zabbix搭建部署之Zabbix自定义端口阈值配置以及应用 推荐
- Android 项目部署之Nexus私服搭建和应用
- Window搭建部署RocketMQ步骤详解
- 小码哥-React-Native初体验三(window下搭建应用的首页)
- Openfiler在VMware vSphere中应用(一)简单部署搭建Openfiler
- J2EE环境搭建(一)搭建Web服务器和部署Web应用
- 搭建网站实践(三)部署最简JavaWeb应用
- 使用Vue.js 2.0搭建单页应用:从构建到部署
- 基于Hyper-V3.0搭建XenDesktop7之九 部署虚拟应用之模板准备
- Exchange 2007邮件服务器internet应用的搭建和部署
- 搭建及使用K8s集群 <k8s 集群部署springcloud 多应用>
- 基于Hyper-V3.0搭建XenDesktop7之十 部署虚拟应用之应用发布
- 基于 Docker for MAC 的 Kubernetes 本地环境搭建与应用部署
- ELK应用之一:ELK平台搭建部署
- Exchange 2007邮件服务器internet应用的搭建和部署 推荐
- 企业级监控软件Zabbix搭建部署之zabbix集成应用邮件报警
- SPRING BOOT快速搭建WEB应用教程(三)—使用DEVTOOLS实现热部署
- CloudFoundry环境搭建及简单应用部署