RocketMQ在windows环境下的搭建安装

RocketMQ在windows环境下亲自搭建,记录过程步骤,并记录采到的坑

环境:
1.系统Windows
2.环境 JDK1.8、Maven、Git
3.下载rocketmq-all-4.4.0-bin-release(下载链接:https://rocketmq.apache.org/)"
注意:下载binary版本
在这里插入图片描述

启动服务:
注意:rocketmq-all-4.4.0-bin-release和jdk1.8.0_191 一定要放在没有空格的目录下

执行如下命令如下图显示:(启动后cmd窗口不能关闭)		
1.启动mqnamesrv:  start mqnamesrv.cmd		
2.启动mqbroker:  mqbroker -n localhost:9876 autoCreateTopicEnable=true		

在这里插入图片描述

编写java的客户端代码: maven工程pom.xml下以来的包

org.apache.rocketmq
rocketmq-client
4.2.0

在这里插入图片描述

Producer.java import java.util.Scanner;

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;		
		
public class Producer {		
    public static void main(String[] args)		
        throws MQClientException {		
        DefaultMQProducer producer = new DefaultMQProducer("my-group");		
        producer.setNamesrvAddr("localhost:9876");		
        producer.setInstanceName("rmq-instance");		
        producer.start();		
        try {		
            Message message = new Message("demo-topic", "demo-tag", "这是一条测试消息".getBytes());		
            producer.send(message);		
		
            //注意:下面代码用户手动输入发送消息内容		
            while (true) {		
                String text = new Scanner(System.in).next();		
                Message msg = new Message("demo-topic", // topic		
                    "demo-tag", // tag		
                    text.getBytes() // body		
                );		
                SendResult sendResult = producer.send(msg);		
            }		
		
        }		
        catch (Exception e) {		
            e.printStackTrace();		
        }		
        producer.shutdown();		
    }		
}		

Consumer.java import java.util.List;

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.MQClientException;		
import org.apache.rocketmq.common.message.MessageExt;		
		
public class Consumer {		
    public static void main(String[] args) {		
        DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("my-group");		
        		
        consumer.setNamesrvAddr("localhost:9876");		
        consumer.setInstanceName("rmq-instance");		
        try {		
            consumer.subscribe("demo-topic", "demo-tag");		
            consumer.registerMessageListener(new MessageListenerConcurrently()		
            {		
                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.");		
        }		
        catch (MQClientException e) {		
            e.printStackTrace();		
        }		
        		
    }		
}		

为了更直观的使用RocketMQ,我们本地搭建下管理界面

1.首先下载官方rocketmq-console工程(地址:https://github.com/apache/rocketmq-externals)		

在这里插入图片描述

下载后修改applicateion.properties文件中端口,本地地址
在这里插入图片描述

 进入‘\rocketmq-externals\rocketmq-console’文件夹,执行‘mvn clean package -Dmaven.test.skip=true’,编译生成		

在这里插入图片描述

"编译成功之后,Cmd进入‘target’文件夹,执行‘java -jar rocketmq-console-ng-1.0.0.jar’,启动‘rocketmq-console-ng-1.0.0.jar’。

" 在这里插入图片描述

运行:		

在这里插入图片描述

访问:		

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yanwendonge/article/details/88658978