public MessageExt viewMessage()

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