in src/main/java/org/apache/rocketmq/dashboard/service/client/MQAdminExtImpl.java [478:503]
public MessageExt viewMessage(String topic,
String msgId) throws RemotingException, MQBrokerException, InterruptedException, MQClientException {
logger.info("MessageClientIDSetter.getNearlyTimeFromID(msgId)={} msgId={}", MessageClientIDSetter.getNearlyTimeFromID(msgId), msgId);
try {
return viewMessage(msgId);
} catch (Exception e) {
}
MQAdminImpl mqAdminImpl = MQAdminInstance.threadLocalMqClientInstance().getMQAdminImpl();
Set<String> clusterList = MQAdminInstance.threadLocalMQAdminExt().getTopicClusterList(topic);
if (clusterList == null || clusterList.isEmpty()) {
QueryResult qr = Reflect.on(mqAdminImpl).call("queryMessage", "", topic, msgId, 32,
0L, Long.MAX_VALUE, true).get();
if (qr != null && qr.getMessageList() != null && !qr.getMessageList().isEmpty()) {
return qr.getMessageList().get(0);
}
} else {
for (String name : clusterList) {
QueryResult qr = Reflect.on(mqAdminImpl).call("queryMessage", name, topic, msgId, 32,
0L, Long.MAX_VALUE, true).get();
if (qr != null && qr.getMessageList() != null && !qr.getMessageList().isEmpty()) {
return qr.getMessageList().get(0);
}
}
}
return null;
}