RocketMQ试了下用4.x的example代码发消息到5.x版本的rocketmq显示响应超时
在测试兼容性。
用4.x的代码访问一直报如下错误:
java.lang.IllegalStateException: org.apache.rocketmq.remoting.exception.RemotingTimeoutException: wait response on the channel 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();
}
}