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

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();
}

}

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

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

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

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

    热门文章

    相关电子书

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