今天开始学习rokcetmq,在云服务器上配置和启动rocketmq之后,尝试使用原始的client创建生产者并且发送消息时报错org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl cal
@Test
void contextLoads() throws Exception {
//1.创建生产者
DefaultMQProducer producer = new DefaultMQProducer("test-group");
//2.设置nameserver地址
producer.setNamesrvAddr(MqConstant.NAME_SRV_ADDR);
//3.启动
producer.start();
//4.创建消息
String msg = "hello world!";
Message message = new Message("testTopic",msg.getBytes(StandardCharsets.UTF_8));
//5.发送消息
SendResult send = producer.send(message);
System.out.println(send.getSendStatus());
//6.关闭生产者
producer.shutdown();
}
- 查看rokcetmq的nameserver和broker的日志确保了都是正常启动的
- java代码中指定的server地址也正确
再次测试,出现如下错误
在次查看server和broker的日志,在broker的启动日志中发现
启动的broker-a的端口是10911,云服务器防火墙忘了开放这个端口
在云服务器的控制台开放这个端口后正常运行