fix: 5.x query message detail throw: Failed to query message by Id: xxx (#231)

Co-authored-by: yangzengc <yangzengc@ewan.cn>
This commit is contained in:
Evan
2024-09-07 19:59:38 +08:00
committed by GitHub
parent 464f57adf8
commit 6d360509c0

View File

@@ -465,15 +465,18 @@ public class MQAdminExtImpl implements MQAdminExt {
} }
catch (Exception e) { catch (Exception e) {
} }
MQAdminImpl mqAdminImpl = MQAdminInstance.threadLocalMqClientInstance().getMQAdminImpl();
QueryResult qr = Reflect.on(mqAdminImpl).call("queryMessage", topic, msgId, 32, Set<String> clusterList = MQAdminInstance.threadLocalMQAdminExt().getTopicClusterList(topic);
MessageClientIDSetter.getNearlyTimeFromID(msgId).getTime() - 1000 * 60 * 60 * 13L, Long.MAX_VALUE, true).get(); if (clusterList == null || clusterList.isEmpty()) {
if (qr != null && qr.getMessageList() != null && qr.getMessageList().size() > 0) { return MQAdminInstance.threadLocalMQAdminExt().queryMessage("", topic, msgId);
return qr.getMessageList().get(0);
} }
else { for (String name : clusterList) {
return null; MessageExt messageExt = MQAdminInstance.threadLocalMQAdminExt().queryMessage(name, topic, msgId);
if (messageExt != null) {
return messageExt;
}
} }
return null;
} }
@Override @Override