Java web项目创建笔记20 之《整合rocketmq》

一、搭建rocketmq集群环境
看上一篇:https://blog.csdn.net/csj50/article/details/102939936

二、建立topic
1、控制台Topic--add/update
clusterName:rocketmq-cluster(创建在哪几个cluster上)
BROKER_NAME:broker-b、broker-a(创建在哪几个broker上)
topicName:TopicTest1(主题名)
writeQueueNums:2(写队列数量)
readQueueNums:2(读队列数量)
perm:6(2是写,4是读,6是读写)

点击STATUS查看: 

 由于队列属性可读、可写,TopicTest1主题共有2个队列。而且分别在broker-a、broker-b上建立了这个topic,所以总共有4个队列可以使用

三、引入maven依赖
pom文件添加依赖:

<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-client</artifactId>
    <version>4.5.2</version>
</dependency>

四、rocketmq生产者
1、在webapp2_web模块src/main/resources下增加:
spring-jms-rocket.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:amq="http://activemq.apache.org/schema/core"
	xmlns:jms="http://www.springframework.org/schema/jms" xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/jms
        http://www.springframework.org/schema/jms/spring-jms.xsd">

	<!--rocketmq 生产者定义-->
	<bean id="defaultMQProducer" class="org.apache.rocketmq.client.producer.DefaultMQProducer"
		init-method="start" destroy-method="shutdown">
		<property name="producerGroup" value="${rocketmq.producer.group}" />
		<property name="namesrvAddr" value="${rocketmq.nameserver.addr}" />
	</bean>
</beans>

2、在configurations-dev.properties加入配置:
生产者组由配置文件中定义

rocketmq.producer.group=test-producerg
rocketmq.nameserver.addr=192.168.12.6:9876;192.168.12.8:9876

3、在applicationContext.xml增加引用:

<import resource="classpath:/spring-jms-rocket.xml"/>

4、添加测试类RocketTest.java
1)测试方法producerTest

package webapp;

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.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(locations = {"classpath:applicationContext.xml","classpath:spring-mvc.xml"})
@ActiveProfiles("dev")
public class RocketTest {
	protected static Logger logger = LoggerFactory.getLogger(RocketTest.class);
	
	@Autowired
	DefaultMQProducer defaultMQProducer;
	
	@Test
	public void producerTest() throws Exception {
		for (int i = 0; i < 100; i++) {
            Message msg = new Message("TopicTest1" /* Topic */,
                "TagA" /* Tag */,
                ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Message body */
            );
            //投递消息到其中一个brokers
            SendResult sendResult = defaultMQProducer.send(msg);
            System.out.printf("%s%n", sendResult);
        }
	}
}

2)producerTest方法执行结果

RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
job2 start...
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A79950000, offsetMsgId=C0A80C0600002A9F0000000000000000, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=0]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A2B0001, offsetMsgId=C0A80C0800002A9F00000000000000B9, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=0]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A310002, offsetMsgId=C0A80C0800002A9F000000000000016C, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=0]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A350003, offsetMsgId=C0A80C0600002A9F00000000000000B3, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=0]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A420004, offsetMsgId=C0A80C0600002A9F0000000000000166, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=1]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A440005, offsetMsgId=C0A80C0800002A9F000000000000021F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=1]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A470006, offsetMsgId=C0A80C0800002A9F00000000000002D2, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=1]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A490007, offsetMsgId=C0A80C0600002A9F0000000000000219, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=1]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A4B0008, offsetMsgId=C0A80C0600002A9F00000000000002CC, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=2]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A4F0009, offsetMsgId=C0A80C0800002A9F0000000000000385, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=2]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A52000A, offsetMsgId=C0A80C0800002A9F0000000000000438, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=2]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A56000B, offsetMsgId=C0A80C0600002A9F000000000000037F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=2]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A59000C, offsetMsgId=C0A80C0600002A9F0000000000000433, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=3]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A5C000D, offsetMsgId=C0A80C0800002A9F00000000000004EC, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=3]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A5F000E, offsetMsgId=C0A80C0800002A9F00000000000005A0, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=3]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A62000F, offsetMsgId=C0A80C0600002A9F00000000000004E7, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=3]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A690010, offsetMsgId=C0A80C0600002A9F000000000000059B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=4]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A6B0011, offsetMsgId=C0A80C0800002A9F0000000000000654, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=4]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A6E0012, offsetMsgId=C0A80C0800002A9F0000000000000708, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=4]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A700013, offsetMsgId=C0A80C0600002A9F000000000000064F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=4]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A740014, offsetMsgId=C0A80C0600002A9F0000000000000703, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=5]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A780015, offsetMsgId=C0A80C0800002A9F00000000000007BC, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=5]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A7A0016, offsetMsgId=C0A80C0800002A9F0000000000000870, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=5]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A7C0017, offsetMsgId=C0A80C0600002A9F00000000000007B7, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=5]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A7F0018, offsetMsgId=C0A80C0600002A9F000000000000086B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=6]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A810019, offsetMsgId=C0A80C0800002A9F0000000000000924, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=6]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A83001A, offsetMsgId=C0A80C0800002A9F00000000000009D8, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=6]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A85001B, offsetMsgId=C0A80C0600002A9F000000000000091F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=6]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A87001C, offsetMsgId=C0A80C0600002A9F00000000000009D3, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=7]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A89001D, offsetMsgId=C0A80C0800002A9F0000000000000A8C, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=7]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A8C001E, offsetMsgId=C0A80C0800002A9F0000000000000B40, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=7]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A8F001F, offsetMsgId=C0A80C0600002A9F0000000000000A87, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=7]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A940020, offsetMsgId=C0A80C0600002A9F0000000000000B3B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=8]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A960021, offsetMsgId=C0A80C0800002A9F0000000000000BF4, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=8]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A980022, offsetMsgId=C0A80C0800002A9F0000000000000CA8, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=8]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A9A0023, offsetMsgId=C0A80C0600002A9F0000000000000BEF, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=8]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7A9C0024, offsetMsgId=C0A80C0600002A9F0000000000000CA3, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=9]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AA00025, offsetMsgId=C0A80C0800002A9F0000000000000D5C, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=9]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AA20026, offsetMsgId=C0A80C0800002A9F0000000000000E10, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=9]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AA50027, offsetMsgId=C0A80C0600002A9F0000000000000D57, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=9]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AA70028, offsetMsgId=C0A80C0600002A9F0000000000000E0B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=10]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AA90029, offsetMsgId=C0A80C0800002A9F0000000000000EC4, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=10]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AAB002A, offsetMsgId=C0A80C0800002A9F0000000000000F78, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=10]
ScheduledTask2任务启动了...
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AAD002B, offsetMsgId=C0A80C0600002A9F0000000000000EBF, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=10]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AB3002C, offsetMsgId=C0A80C0600002A9F0000000000000F73, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=11]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AB6002D, offsetMsgId=C0A80C0800002A9F000000000000102C, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=11]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AB8002E, offsetMsgId=C0A80C0800002A9F00000000000010E0, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=11]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7ABA002F, offsetMsgId=C0A80C0600002A9F0000000000001027, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=11]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7ABC0030, offsetMsgId=C0A80C0600002A9F00000000000010DB, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=12]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7ABE0031, offsetMsgId=C0A80C0800002A9F0000000000001194, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=12]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AC10032, offsetMsgId=C0A80C0800002A9F0000000000001248, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=12]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AC30033, offsetMsgId=C0A80C0600002A9F000000000000118F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=12]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AC60034, offsetMsgId=C0A80C0600002A9F0000000000001243, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=13]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AC80035, offsetMsgId=C0A80C0800002A9F00000000000012FC, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=13]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7ACA0036, offsetMsgId=C0A80C0800002A9F00000000000013B0, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=13]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7ACC0037, offsetMsgId=C0A80C0600002A9F00000000000012F7, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=13]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AD10038, offsetMsgId=C0A80C0600002A9F00000000000013AB, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=14]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AE70039, offsetMsgId=C0A80C0800002A9F0000000000001464, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=14]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AEB003A, offsetMsgId=C0A80C0800002A9F0000000000001518, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=14]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AED003B, offsetMsgId=C0A80C0600002A9F000000000000145F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=14]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AEF003C, offsetMsgId=C0A80C0600002A9F0000000000001513, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=15]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AF1003D, offsetMsgId=C0A80C0800002A9F00000000000015CC, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=15]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AF6003E, offsetMsgId=C0A80C0800002A9F0000000000001680, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=15]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AF8003F, offsetMsgId=C0A80C0600002A9F00000000000015C7, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=15]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AFB0040, offsetMsgId=C0A80C0600002A9F000000000000167B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=16]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7AFD0041, offsetMsgId=C0A80C0800002A9F0000000000001734, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=16]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B000042, offsetMsgId=C0A80C0800002A9F00000000000017E8, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=16]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B020043, offsetMsgId=C0A80C0600002A9F000000000000172F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=16]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B050044, offsetMsgId=C0A80C0600002A9F00000000000017E3, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=17]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B070045, offsetMsgId=C0A80C0800002A9F000000000000189C, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=17]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B0A0046, offsetMsgId=C0A80C0800002A9F0000000000001950, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=17]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B0C0047, offsetMsgId=C0A80C0600002A9F0000000000001897, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=17]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B0E0048, offsetMsgId=C0A80C0600002A9F000000000000194B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=18]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B100049, offsetMsgId=C0A80C0800002A9F0000000000001A04, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=18]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B12004A, offsetMsgId=C0A80C0800002A9F0000000000001AB8, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=18]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B14004B, offsetMsgId=C0A80C0600002A9F00000000000019FF, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=18]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B16004C, offsetMsgId=C0A80C0600002A9F0000000000001AB3, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=19]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B18004D, offsetMsgId=C0A80C0800002A9F0000000000001B6C, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=19]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B19004E, offsetMsgId=C0A80C0800002A9F0000000000001C20, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=19]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B1B004F, offsetMsgId=C0A80C0600002A9F0000000000001B67, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=19]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B1D0050, offsetMsgId=C0A80C0600002A9F0000000000001C1B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=20]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B1F0051, offsetMsgId=C0A80C0800002A9F0000000000001CD4, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=20]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B210052, offsetMsgId=C0A80C0800002A9F0000000000001D88, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=20]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B230053, offsetMsgId=C0A80C0600002A9F0000000000001CCF, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=20]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B250054, offsetMsgId=C0A80C0600002A9F0000000000001D83, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=21]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B2A0055, offsetMsgId=C0A80C0800002A9F0000000000001E3C, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=21]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B2C0056, offsetMsgId=C0A80C0800002A9F0000000000001EF0, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=21]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B2E0057, offsetMsgId=C0A80C0600002A9F0000000000001E37, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=21]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B300058, offsetMsgId=C0A80C0600002A9F0000000000001EEB, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=22]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B320059, offsetMsgId=C0A80C0800002A9F0000000000001FA4, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=22]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B34005A, offsetMsgId=C0A80C0800002A9F0000000000002058, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=22]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B36005B, offsetMsgId=C0A80C0600002A9F0000000000001F9F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=22]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B38005C, offsetMsgId=C0A80C0600002A9F0000000000002053, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=23]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B3B005D, offsetMsgId=C0A80C0800002A9F000000000000210C, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=23]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B3D005E, offsetMsgId=C0A80C0800002A9F00000000000021C0, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=23]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B3F005F, offsetMsgId=C0A80C0600002A9F0000000000002107, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=23]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B410060, offsetMsgId=C0A80C0600002A9F00000000000021BB, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=24]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B450061, offsetMsgId=C0A80C0800002A9F0000000000002274, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=24]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B470062, offsetMsgId=C0A80C0800002A9F0000000000002328, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=24]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A719A800816F27D5B1A7B4A0063, offsetMsgId=C0A80C0600002A9F000000000000226F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=24]
ScheduledTask2任务启动了...
job1 start...
ScheduledTask2任务启动了...
ScheduledTask2任务启动了...
ScheduledTask2任务启动了...
ScheduledTask2任务启动了...

3)可以看到100条消息平均分配到了两个broker上

在broker里又平均分配到了两个队列里:

 五、消费者
1、建立消费者组:
控制台Consumer--add/update
clusterName:rocketmq-cluster(创建在哪个集群上)
brokerName:broker-b、broker-a(创建在哪几个broker上)
groupName:test-consumerg(消费组名字)
consumeEnable:默认值(是否可以消费,FALSE的话将无法进行消费)
consumeBroadcastEnable:默认值(是否可以广播消费)
retryQueueNums:1(重试队列的大小)
brokerId:0(正常情况从哪消费)
whichBrokerWhenConsumeSlowly:1(出问题了从哪消费)

2、消费者类
rocketmq有两个消费者类:DefaultMQPushConsumer、DefaultMQPullConsumer
在大多数情况下,DefaultMQPushConsumer是使用消息的主要推荐类
PushConsumer使用方式给用户感觉是消息从RocketMQ服务器推到了应用客户端
但是实际PushConsumer内部是使用长轮询Pull方式从Broker拉消息,然后再回调用户Listener方法

3、在spring-jms-rocket.xml添加消费者配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:amq="http://activemq.apache.org/schema/core"
	xmlns:jms="http://www.springframework.org/schema/jms" xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/jms
        http://www.springframework.org/schema/jms/spring-jms.xsd">

	<!--rocketmq 生产者定义-->
	<bean id="defaultMQProducer" class="org.apache.rocketmq.client.producer.DefaultMQProducer"
		init-method="start" destroy-method="shutdown">
		<property name="producerGroup" value="${rocketmq.producer.group}" />
		<property name="namesrvAddr" value="${rocketmq.nameserver.addr}" />
	</bean>
	
	<!--rocketmq 消费者定义-->
    <bean id="defaultMQPushConsumer" class="com.study.base.jms.DefaultMQPushConsumerLazyInit" destroy-method="shutdown">
        <property name="namesrvAddr" value="${rocketmq.nameserver.addr}"/>
        <property name="consumerGroup" value="${rocketmq.consumer.group}"/>
        <!-- 消息监听器 -->
        <property name="messageListener" ref="rocketmqMessageListeners"/>
        <!--消费者线程最小数,默认10-->
        <property name="consumeThreadMin" value="10"/>
        <!--消费者线程最大数,默认10-->
        <property name="consumeThreadMax" value="10"/>
        <!--集群消费-->
        <property name="messageModel" value="CLUSTERING"/>
        <property name="subscription">
            <map>
                <entry key="${rocketmq.topic}" value="${rocketmq.result.tag}"/>
            </map>
        </property>
    </bean>
    
    <!--rocketmq 消息监听器定义-->
    <bean id="rocketmqMessageListeners" class="com.study.base.handler.RocketmqMessageListeners"/>
    
</beans>

4、在configurations-dev.properties加入配置:
消费者组在控制台上手工添加

rocketmq.consumer.group=test-consumerg
rocketmq.topic=TopicTest1
rocketmq.result.tag=TagA

5、com.study.base.jms包下:
添加消费者定义类DefaultMQPushConsumerLazyInit.java

package com.study.base.jms;

import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;

/**
 * rocketmq消费者延迟加载
 * @author User
 *
 */
public class DefaultMQPushConsumerLazyInit extends DefaultMQPushConsumer implements ApplicationListener<ContextRefreshedEvent> {

    private static final Logger logger = LoggerFactory.getLogger(DefaultMQPushConsumerLazyInit.class);
    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        try {
            if (event.getApplicationContext().getParent() == null){
                logger.info("rocketmq consumer execute start method ...");
                this.start();
            }
        } catch (Exception e) {
            //调用start失败,导致rocket启动失败
            logger.error(e.getMessage(), e);
        }
    }

}

为什么消费者要延迟加载,因为spring初始化完消费者后,消费者就立即开始消费,此时其他bean可能还未初始化完成,会造成异常

6、com.study.base.handler包下:
添加消息监听器类RocketmqMessageListeners.java

package com.study.base.handler;

import java.util.List;

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.common.message.MessageExt;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;

/**
 * rocketmq消息监听器 并发消费模式
 * 
 * @author User
 *
 */
public class RocketmqMessageListeners implements MessageListenerConcurrently {

	protected Logger logger = LoggerFactory.getLogger(RocketmqMessageListeners.class);

	@Value("${rocketmq.topic}")
	private String topic;

	@Value("${rocketmq.result.tag}")
	private String tag;

	@Override
	public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) {
		for (MessageExt msg : msgs) {
			try {
				if (msg.getTopic().equals(topic)) {
					// 指定的Topic
					if (msg.getTags() != null && msg.getTags().equals(tag)) {
						// 指定Tag的消费
						String str = new String(msg.getBody());
						System.out.println("消费:" + str);
					}
				}

			} catch (Exception ex) {
				logger.error("系统异常:{}", ex);
			}
		}
		// 如果没有return success,consumer会重新消费该消息,直到return success
		return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;

	}

}

7、RocketTest添加测试方法consumerTest

	@Test
	public void consumerTest() throws Exception {
		System.out.println("消费者测试开始...");
		Thread.sleep(60*1000);
		System.out.println("消费者测试结束...");
	}

8、由于这里生产者和消费者对应同一个Topic,所以执行上面的生产者测试方法,消费者会自动消费


RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
job2 start...
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF100000, offsetMsgId=C0A80C0600002A9F0000000000006968, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=75]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF170001, offsetMsgId=C0A80C0600002A9F0000000000006A1B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=75]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF190002, offsetMsgId=C0A80C0800002A9F0000000000006A23, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=75]
消费:Hello RocketMQ 0
消费:Hello RocketMQ 1
消费:Hello RocketMQ 2
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF1C0003, offsetMsgId=C0A80C0800002A9F0000000000006AD6, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=75]
消费:Hello RocketMQ 3
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF1F0004, offsetMsgId=C0A80C0600002A9F0000000000006ACE, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=76]
消费:Hello RocketMQ 4
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF220005, offsetMsgId=C0A80C0600002A9F0000000000006B81, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=76]
消费:Hello RocketMQ 5
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF240006, offsetMsgId=C0A80C0800002A9F0000000000006B89, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=76]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF250007, offsetMsgId=C0A80C0800002A9F0000000000006C3C, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=76]
消费:Hello RocketMQ 6
消费:Hello RocketMQ 7
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF270008, offsetMsgId=C0A80C0600002A9F0000000000006C34, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=77]
消费:Hello RocketMQ 8
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF280009, offsetMsgId=C0A80C0600002A9F0000000000006CE7, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=77]
消费:Hello RocketMQ 9
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF2A000A, offsetMsgId=C0A80C0800002A9F0000000000006CEF, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=77]
消费:Hello RocketMQ 10
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF2C000B, offsetMsgId=C0A80C0800002A9F0000000000006DA3, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=77]
消费:Hello RocketMQ 11
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF2D000C, offsetMsgId=C0A80C0600002A9F0000000000006D9A, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=78]
消费:Hello RocketMQ 12
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF2F000D, offsetMsgId=C0A80C0600002A9F0000000000006E4E, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=78]
消费:Hello RocketMQ 13
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF31000E, offsetMsgId=C0A80C0800002A9F0000000000006E57, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=78]
消费:Hello RocketMQ 14
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF33000F, offsetMsgId=C0A80C0800002A9F0000000000006F0B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=78]
消费:Hello RocketMQ 15
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF350010, offsetMsgId=C0A80C0600002A9F0000000000006F02, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=79]
消费:Hello RocketMQ 16
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF360011, offsetMsgId=C0A80C0600002A9F0000000000006FB6, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=79]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF380012, offsetMsgId=C0A80C0800002A9F0000000000006FBF, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=79]
消费:Hello RocketMQ 18
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF3A0013, offsetMsgId=C0A80C0800002A9F0000000000007073, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=79]
消费:Hello RocketMQ 19
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF3B0014, offsetMsgId=C0A80C0600002A9F000000000000706A, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=80]
消费:Hello RocketMQ 17
消费:Hello RocketMQ 20
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF400015, offsetMsgId=C0A80C0600002A9F000000000000711E, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=80]
消费:Hello RocketMQ 21
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF430016, offsetMsgId=C0A80C0800002A9F0000000000007127, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=80]
消费:Hello RocketMQ 22
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF450017, offsetMsgId=C0A80C0800002A9F00000000000071DB, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=80]
消费:Hello RocketMQ 23
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF470018, offsetMsgId=C0A80C0600002A9F00000000000071D2, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=81]
消费:Hello RocketMQ 24
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF480019, offsetMsgId=C0A80C0600002A9F0000000000007286, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=81]
消费:Hello RocketMQ 25
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF4A001A, offsetMsgId=C0A80C0800002A9F000000000000728F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=81]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF4C001B, offsetMsgId=C0A80C0800002A9F0000000000007343, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=81]
消费:Hello RocketMQ 26
消费:Hello RocketMQ 27
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF4D001C, offsetMsgId=C0A80C0600002A9F000000000000733A, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=82]
消费:Hello RocketMQ 28
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF57001D, offsetMsgId=C0A80C0600002A9F00000000000073EE, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=82]
消费:Hello RocketMQ 29
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF59001E, offsetMsgId=C0A80C0800002A9F00000000000073F7, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=82]
消费:Hello RocketMQ 30
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF5A001F, offsetMsgId=C0A80C0800002A9F00000000000074AB, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=82]
消费:Hello RocketMQ 31
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF5C0020, offsetMsgId=C0A80C0600002A9F00000000000074A2, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=83]
消费:Hello RocketMQ 32
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF5E0021, offsetMsgId=C0A80C0600002A9F0000000000007556, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=83]
消费:Hello RocketMQ 33
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF5F0022, offsetMsgId=C0A80C0800002A9F000000000000755F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=83]
消费:Hello RocketMQ 34
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF610023, offsetMsgId=C0A80C0800002A9F0000000000007613, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=83]
消费:Hello RocketMQ 35
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF630024, offsetMsgId=C0A80C0600002A9F000000000000760A, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=84]
消费:Hello RocketMQ 36
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF650025, offsetMsgId=C0A80C0600002A9F00000000000076BE, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=84]
消费:Hello RocketMQ 37
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF660026, offsetMsgId=C0A80C0800002A9F00000000000076C7, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=84]
消费:Hello RocketMQ 38
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF680027, offsetMsgId=C0A80C0800002A9F000000000000777B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=84]
消费:Hello RocketMQ 39
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF690028, offsetMsgId=C0A80C0600002A9F0000000000007772, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=85]
消费:Hello RocketMQ 40
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF6A0029, offsetMsgId=C0A80C0600002A9F0000000000007826, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=85]
消费:Hello RocketMQ 41
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF6C002A, offsetMsgId=C0A80C0800002A9F000000000000782F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=85]
消费:Hello RocketMQ 42
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF6D002B, offsetMsgId=C0A80C0800002A9F00000000000078E3, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=85]
消费:Hello RocketMQ 43
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF6E002C, offsetMsgId=C0A80C0600002A9F00000000000078DA, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=86]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF6F002D, offsetMsgId=C0A80C0600002A9F000000000000798E, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=86]
消费:Hello RocketMQ 44
消费:Hello RocketMQ 45
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF72002E, offsetMsgId=C0A80C0800002A9F0000000000007997, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=86]
消费:Hello RocketMQ 46
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF73002F, offsetMsgId=C0A80C0800002A9F0000000000007A4B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=86]
消费:Hello RocketMQ 47
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF740030, offsetMsgId=C0A80C0600002A9F0000000000007A42, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=87]
消费:Hello RocketMQ 48
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF760031, offsetMsgId=C0A80C0600002A9F0000000000007AF6, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=87]
消费:Hello RocketMQ 49
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF770032, offsetMsgId=C0A80C0800002A9F0000000000007AFF, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=87]
消费:Hello RocketMQ 50
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF7A0033, offsetMsgId=C0A80C0800002A9F0000000000007BB3, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=87]
消费:Hello RocketMQ 51
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF7C0034, offsetMsgId=C0A80C0600002A9F0000000000007BAA, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=88]
消费:Hello RocketMQ 52
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF7E0035, offsetMsgId=C0A80C0600002A9F0000000000007C5E, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=88]
消费:Hello RocketMQ 53
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF800036, offsetMsgId=C0A80C0800002A9F0000000000007C67, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=88]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF810037, offsetMsgId=C0A80C0800002A9F0000000000007D1B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=88]
消费:Hello RocketMQ 54
消费:Hello RocketMQ 55
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF830038, offsetMsgId=C0A80C0600002A9F0000000000007D12, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=89]
消费:Hello RocketMQ 56
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF870039, offsetMsgId=C0A80C0600002A9F0000000000007DC6, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=89]
消费:Hello RocketMQ 57
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF89003A, offsetMsgId=C0A80C0800002A9F0000000000007DCF, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=89]
消费:Hello RocketMQ 58
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF8A003B, offsetMsgId=C0A80C0800002A9F0000000000007E83, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=89]
消费:Hello RocketMQ 59
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF8B003C, offsetMsgId=C0A80C0600002A9F0000000000007E7A, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=90]
消费:Hello RocketMQ 60
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF8C003D, offsetMsgId=C0A80C0600002A9F0000000000007F2E, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=90]
消费:Hello RocketMQ 61
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF8E003E, offsetMsgId=C0A80C0800002A9F0000000000007F37, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=90]
消费:Hello RocketMQ 62
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF90003F, offsetMsgId=C0A80C0800002A9F0000000000007FEB, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=90]
消费:Hello RocketMQ 63
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF910040, offsetMsgId=C0A80C0600002A9F0000000000007FE2, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=91]
消费:Hello RocketMQ 64
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF930041, offsetMsgId=C0A80C0600002A9F0000000000008096, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=91]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF940042, offsetMsgId=C0A80C0800002A9F000000000000809F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=91]
消费:Hello RocketMQ 65
消费:Hello RocketMQ 66
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF950043, offsetMsgId=C0A80C0800002A9F0000000000008153, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=91]
消费:Hello RocketMQ 67
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF960044, offsetMsgId=C0A80C0600002A9F000000000000814A, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=92]
消费:Hello RocketMQ 68
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF970045, offsetMsgId=C0A80C0600002A9F00000000000081FE, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=92]
消费:Hello RocketMQ 69
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF980046, offsetMsgId=C0A80C0800002A9F0000000000008207, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=92]
消费:Hello RocketMQ 70
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF9A0047, offsetMsgId=C0A80C0800002A9F00000000000082BB, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=92]
消费:Hello RocketMQ 71
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF9B0048, offsetMsgId=C0A80C0600002A9F00000000000082B2, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=93]
消费:Hello RocketMQ 72
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF9C0049, offsetMsgId=C0A80C0600002A9F0000000000008366, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=93]
消费:Hello RocketMQ 73
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF9D004A, offsetMsgId=C0A80C0800002A9F000000000000836F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=93]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF9E004B, offsetMsgId=C0A80C0800002A9F0000000000008423, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=93]
消费:Hello RocketMQ 74
消费:Hello RocketMQ 75
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AF9F004C, offsetMsgId=C0A80C0600002A9F000000000000841A, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=94]
消费:Hello RocketMQ 76
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFA1004D, offsetMsgId=C0A80C0600002A9F00000000000084CE, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=94]
消费:Hello RocketMQ 77
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFA3004E, offsetMsgId=C0A80C0800002A9F00000000000084D7, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=94]
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFA4004F, offsetMsgId=C0A80C0800002A9F000000000000858B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=94]
消费:Hello RocketMQ 78
消费:Hello RocketMQ 79
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFA50050, offsetMsgId=C0A80C0600002A9F0000000000008582, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=95]
消费:Hello RocketMQ 80
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFA60051, offsetMsgId=C0A80C0600002A9F0000000000008636, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=95]
消费:Hello RocketMQ 81
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFA90052, offsetMsgId=C0A80C0800002A9F000000000000863F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=95]
消费:Hello RocketMQ 82
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFAC0053, offsetMsgId=C0A80C0800002A9F00000000000086F3, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=95]
消费:Hello RocketMQ 83
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFAD0054, offsetMsgId=C0A80C0600002A9F00000000000086EA, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=96]
消费:Hello RocketMQ 84
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFAF0055, offsetMsgId=C0A80C0600002A9F000000000000879E, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=96]
消费:Hello RocketMQ 85
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFB00056, offsetMsgId=C0A80C0800002A9F00000000000087A7, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=96]
消费:Hello RocketMQ 86
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFB20057, offsetMsgId=C0A80C0800002A9F000000000000885B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=96]
消费:Hello RocketMQ 87
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFB30058, offsetMsgId=C0A80C0600002A9F0000000000008852, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=97]
消费:Hello RocketMQ 88
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFB50059, offsetMsgId=C0A80C0600002A9F0000000000008906, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=97]
消费:Hello RocketMQ 89
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFB6005A, offsetMsgId=C0A80C0800002A9F000000000000890F, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=97]
消费:Hello RocketMQ 90
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFB8005B, offsetMsgId=C0A80C0800002A9F00000000000089C3, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=97]
消费:Hello RocketMQ 91
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFB9005C, offsetMsgId=C0A80C0600002A9F00000000000089BA, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=98]
消费:Hello RocketMQ 92
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFBB005D, offsetMsgId=C0A80C0600002A9F0000000000008A6E, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=98]
消费:Hello RocketMQ 93
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFBC005E, offsetMsgId=C0A80C0800002A9F0000000000008A77, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=98]
消费:Hello RocketMQ 94
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFBE005F, offsetMsgId=C0A80C0800002A9F0000000000008B2B, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=98]
消费:Hello RocketMQ 95
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFBF0060, offsetMsgId=C0A80C0600002A9F0000000000008B22, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0], queueOffset=99]
消费:Hello RocketMQ 96
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFC00061, offsetMsgId=C0A80C0600002A9F0000000000008BD6, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1], queueOffset=99]
消费:Hello RocketMQ 97
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFC10062, offsetMsgId=C0A80C0800002A9F0000000000008BDF, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=0], queueOffset=99]
消费:Hello RocketMQ 98
SendResult [sendStatus=SEND_OK, msgId=AC1E6A71C6300816F27D5F04AFC30063, offsetMsgId=C0A80C0800002A9F0000000000008C93, messageQueue=MessageQueue [topic=TopicTest1, brokerName=broker-b, queueId=1], queueOffset=99]
消费:Hello RocketMQ 99

9、控制台查看Consumer信息
1)Consumer选项卡

SubscriptionGroup:消费者组名称
Quantity:消费者数量
Version:消费者版本
Type:消费类型被动消费(推的模式,实际也是拉)
Mode:消费模式,集群消费(广播消费)
TPS:并发量
Delay:延迟执行时间

2)点击CLIENT 

 3)点击CONSUME DETAIL

六、参考资料
RocketMQ配置
https://blog.csdn.net/gh670011677/article/details/75099812
rocketmq的有序消费模式和并发消费模式的区别
https://blog.csdn.net/qq_36804701/article/details/81481343

注:最新代码上传至https://github.com/csj50/webapp2.git
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值