1、rocketmq源码导入
jdk/maven安装配置略,源码地址:
https://github.com/apache/rocketmq.git
2、项目启动
2.1、NameServer启动
1)找到NamesrvStartup主类
2)配置环境变量(ROCKETMQ_HOME=d:\rocketmq)
3)创建相应目录(d:\rocketmq,并在该目录下创建conf、logs、store目录)
4)、拷贝相应配置文件(distribution:broker.conf、logback_broker.xml、logback_broker.xml)到D:\rocketmq\conf目录下,修改修改logback_broker.xml文件的日志路径,broker.conf文件部分配置
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# nameServer地址,分号分割
namesrvAddr=127.0.0.1:9876
# 存储路径
storePathRootDir=D:\\rocketmq\\store
# commitLog 存储路径
storePathCommitLog=D:\\rocketmq\\store\\commitlog
# 消费队列存储路径
storePathConsumeQueue=D:\\rocketmq\\store\\consumequeue
# 消息索引存储路径
storePathIndex=D:\\rocketmq\\store\\index
# checkpoint 存储路径
storeCheckpoint=D:\\rocketmq\\store\\checkpoint
# abort文件存储路径
abortFile=D:\\rocketmq\\store\\abort
5)、运行NamesrvStartup主类
2.2、Broker启动
1)、配置启动参数
2)、运行BrokerStartup主类
2.3、测试消息发送与消息消费
1)、发送消息:org.apache.rocketmq.example.quickstart.Producer
设置NameServer地址:
producer.setNamesrvAddr("127.0.0.1:9876");
然后运行该类的main方法,有如下响应证明消息发送成功:
SendResult [sendStatus=SEND_OK, msgId=C0A8008149AC18B4AAC2189669D503E7, offsetMsgId=C0A8380100002A9F000000000002E11D, messageQueue=MessageQueue [topic=TopicTest, brokerName=broker-a, queueId=0], queueOffset=249]
2)、消费者消费消息:org.apache.rocketmq.example.quickstart.Consumer
设置NameServer地址:
consumer.setNamesrvAddr("127.0.0.1:9876");
然后运行该类的main方法,有如下响应证明消息消费成功:
ConsumeMessageThread_12 Receive New Messages: [MessageExt [queueId=1, storeSize=189, queueOffset=239, sysFlag=0, bornTimestamp=1567679710658, bornHost=/192.168.56.1:55552, storeTimestamp=1567679710658, storeHost=/192.168.56.1:10911, msgId=C0A8380100002A9F000000000002C15E, commitLogOffset=180574, bodyCRC=730101603, reconsumeTimes=0, preparedTransactionOffset=0, toString()=Message{topic='TopicTest', flag=0, properties={MIN_OFFSET=0, MAX_OFFSET=250, CONSUME_START_TIME=1567680098005, UNIQ_KEY=C0A8008149AC18B4AAC2189669C203BC, WAIT=true, TAGS=TagA}, body=[80, 114, 111, 100, 117, 99, 101, 114, 45, 72, 101, 108, 108, 111, 32, 82, 111, 99, 107, 101, 116, 77, 81, 32, 57, 53, 54], transactionId='null'}]]