为什么rocketmq生产者消息抛出等待响应超时0ms

问题描述

你好,有人可以帮我吗? 当我将生产者消息快速发送给broker时,出现以下异常:

org.apache.rocketmq.client.exception.MQClientException: wait response
 timeout 0ms For more information,please visit the url,http://rocketmq.apache.org/docs/faq/ at
 org.apache.rocketmq.client.impl.MQClientAPIImpl$1.operationComplete(MQClientAPIImpl.java:416)
 at
 org.apache.rocketmq.remoting.netty.ResponseFuture.executeInvokeCallback(ResponseFuture.java:51)
 at
 org.apache.rocketmq.remoting.netty.NettyRemotingAbstract$2.run(NettyRemotingAbstract.java:286)
 at
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
 at java.util.concurrent.FutureTask.run(FutureTask.java:266) at
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 at
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 at java.lang.Thread.run(Thread.java:748)

我阅读了源代码,但没有找到原因,为什么超时为0ms?我没有单独设置超时时间,超时时间应该是认的3000ms。

我的生产者配置为:


public class MessageProducer  {
    private DefaultMQProducer producer = new DefaultMQProducer();
    public MessageProducer() {
        producer.setNamesrvAddr("xxxxxx");
        producer.setProducerGroup("yxshi-request-copy-Group");
        try {
            producer.start();
            log.info("mq producer start success");
        } catch (MQClientException e) {
            log.error("",e);
        }
        producer.setRetryTimesWhenSendAsyncFailed(1);
    }
    public void send( Message message) {
        try {
               producer.send(message,new SendCallback() {
                @Override
                public void onSuccess(SendResult sendResult) {
                    log.info("send message success,{}",sendResult);
                }
                @Override
                public void onException(Throwable e) {
                    log.error("send mesage error,e);
                }
            });
        } catch (Exception e) {
            log.error("send message Failed",e);
        }
    }
    @PreDestroy
    public  void shutdown()throws Exception{
        producer.shutdown();
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)