rocketMQ消息中间件,各位可以百度一下,这里不做介绍直接进入正题

1.rocketMQ在windows下安装部署

https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.4.0/rocketmq-all-4.4.0-bin-release.zip

到上面这个地址下载rocketMQ windows安装包,解压


下载不了,点击这个

2.配置ROCKETMQ\_HOME

windows下rocketMQ 入门学习教程

3.启动rocketMQ

3.1.启动NAMESERVER

cmd进入bin目录

执行‘start mqnamesrv.cmd’

3.2.启动BROKER

执行‘start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true’

**假如弹出提示框提示‘错误: 找不到或无法加载主类 xxxxxx’。打开runbroker.cmd,然后将‘%CLASSPATH%’加上英文双引号。保存并重新执行start语句

4.下载rocket管理工具

https://github.com/apache/incubator-rocketmq-externals

下载完成之后,进入‘rocketmq-externals\rocketmq-console\src\main\resources’文件夹,打开‘application.properties’进行配置

windows下rocketMQ 入门学习教程

编译启动

进入‘\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’。

浏览器中输入‘127.0.0.1:配置端口’,成功后即可查看。

如果下载不了,或者编译失败,可以点击这个下载,这个已经编译完毕,启动后,访问127.0.0.1:8085

5.java rocketMQ demo


4.0.0
com.kang
RocketMQ
0.0.1-SNAPSHOT



org.apache.maven.plugins
maven-compiler-plugin

1.6
1.6




RocketMQTest
http://maven.apache.org


<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>



org.apache.rocketmq
rocketmq-client
4.4.0


org.apache.rocketmq
rocketmq-common
4.4.0


junit
junit
4.10
test


package com.kang.rocketmq;
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;

import java.util.List;

public class Consumer {


public static void main(String[] args) throws InterruptedException,
MQClientException {

DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(
"ConsumerGroupName");
consumer.setNamesrvAddr("127.0.0.1:9876");
consumer.setInstanceName("Consumber");


consumer.subscribe("TopicTest1", "TagA || TagC || TagD");

consumer.subscribe("TopicTest2", "*");

consumer.registerMessageListener(new MessageListenerConcurrently() {


@Override
public ConsumeConcurrentlyStatus consumeMessage(
List msgs, ConsumeConcurrentlyContext context) {
System.out.println(Thread.currentThread().getName()
+ " Receive New Messages: " + msgs.size());
MessageExt msg = msgs.get(0);
if (msg.getTopic().equals("TopicTest1")) {
// 执行TopicTest1的消费逻辑
if (msg.getTags() != null && msg.getTags().equals("TagA")) {
// 执行TagA的消费
System.out.println(new String(msg.getBody()));
} else if (msg.getTags() != null
&& msg.getTags().equals("TagC")) {
// 执行TagC的消费
} else if (msg.getTags() != null
&& msg.getTags().equals("TagD")) {
// 执行TagD的消费
}
} else if (msg.getTopic().equals("TopicTest2")) {
System.out.println(new String(msg.getBody()));
}

return ConsumeConcurrentlyStatus.CONSUME\_SUCCESS;
}
});


consumer.start();

System.out.println("Consumer Started.");
}
}

package com.kang.rocketmq;

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 java.util.concurrent.TimeUnit;

public class Producer {
public static void main(String[] args) throws MQClientException,
InterruptedException {

DefaultMQProducer producer = new DefaultMQProducer("ProducerGroupName");
producer.setNamesrvAddr("127.0.0.1:9876");
producer.setInstanceName("Producer");
producer.setVipChannelEnabled(false);


producer.start();


for (int i = 0; i < 1; i++) {
try {
{
Message msg = new Message("TopicTest1",// topic
"TagA",// tag
"OrderID001",// key
("Hello MetaQ").getBytes());// body
SendResult sendResult = producer.send(msg);
System.out.println(sendResult);
}

{
Message msg = new Message("TopicTest2",// topic
"TagB",// tag
"OrderID0034",// key
("Hello MetaQ").getBytes());// body
SendResult sendResult = producer.send(msg);
System.out.println(sendResult);
}

{
Message msg = new Message("TopicTest3",// topic
"TagC",// tag
"OrderID061",// key
("Hello MetaQ").getBytes());// body
SendResult sendResult = producer.send(msg);
System.out.println(sendResult);
}
} catch (Exception e) {
e.printStackTrace();
}
TimeUnit.MILLISECONDS.sleep(1000);
}


producer.shutdown();
}
}

这个是java项目demo,点击可以下载

6.遇到的问题

6.1 启动mqbroker.exe失败

解决办法,删除C:\Users\"当前系统用户名"\store下的所有文件,就可以了

标签: windows, 入门, apache, org, import, rocketmq, msg, rocketMQ, consumer

相关文章推荐

添加新评论,含*的栏目为必填