开发者社区 > 云原生 > 云消息队列 > 正文

RocketMQ试了下用4.x的example代码发消息到5.x版本的rocketmq显示响应超时?

RocketMQ试了下用4.x的example代码发消息到5.x版本的rocketmq显示响应超时
6cd52b4e417a62e20d95aac53fdfac91.png
在测试兼容性。
用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();
}

}

展开
收起
嘟嘟嘟嘟嘟嘟 2023-10-17 23:35:58 111 0
1 条回答
写回答
取消 提交回答
  • 客户端使用的 Springcloudstream -RocketMQ 的 ,服务端使用的商业版的 5x
    Springcloudstream -RocketMQ 底层使用的是 4.9X 的 RocketMQ-client
    我是这样使用的,没有问题,上了生产的了。
    此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-10-17 23:43:23
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载