RocketMQ试了下用4.x的example代码发消息到5.x版本的rocketmq显示响应超时
在测试兼容性。
用4.x的代码访问一直报如下错误:
java.lang.IllegalStateException: org.apache.rocketmq.remoting.exception.RemotingTimeoutException: wait response on the channel <192.10.59.3:30325> timeout, 2983(ms)
我的代码如下所示,帮我看下有啥问题不
public class RocketMQProducer {
private static RPCHook getAclRPCHook() {
return new AclClientRPCHook(new SessionCredentials("rocketmq2", "12345678"));
}
public static void run() throws MQClientException {
DefaultMQProducer producer = new DefaultMQProducer("testgroup", getAclRPCHook());
producer.setNamesrvAddr("192.10.59.3:30325");
producer.start();
for (int i = 0; i < 128; i++) {
try {
Message msg = new Message("testTopic",
"yourMessageTagA",
"Hello world".getBytes(RemotingHelper.DEFAULT_CHARSET));
SendResult sendResult = producer.send(msg,30000);
System.out.printf("%s%n", sendResult);
} catch (Exception e) {
//消息发送失败,需要进行重试处理,可重新发送这条消息或持久化这条数据进行补偿处理。
System.out.println(new Date() + " Send mq message failed.");
e.printStackTrace();
}
}
//在应用退出前,销毁Producer对象。
//注意:如果不销毁也没有问题。
producer.shutdown();
}
}
客户端使用的 Springcloudstream -RocketMQ 的 ,服务端使用的商业版的 5x
Springcloudstream -RocketMQ 底层使用的是 4.9X 的 RocketMQ-client
我是这样使用的,没有问题,上了生产的了。
此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/