private TubeClientConfig initTubeConfig() throws Exception {
        ConfigManager configManager = ConfigManager.getInstance();
        List<MQInfo> mqInfoList = configManager.getMqInfoList();
        mqInfoList.forEach(mqClusterInfo -> {
            if (MQType.TUBEMQ.equals(mqClusterInfo.getMqType())) {
                masterHostAndPortList = mqClusterInfo.getUrl();
            }
        });

        final TubeClientConfig tubeClientConfig = new TubeClientConfig(masterHostAndPortList);
        tubeClientConfig.setLinkMaxAllowedDelayedMsgCount(linkMaxAllowedDelayedMsgCount);
        tubeClientConfig.setSessionWarnDelayedMsgCount(sessionWarnDelayedMsgCount);
        tubeClientConfig.setSessionMaxAllowedDelayedMsgCount(sessionMaxAllowedDelayedMsgCount);
        tubeClientConfig.setNettyWriteBufferHighWaterMark(nettyWriteBufferHighWaterMark);
        tubeClientConfig.setHeartbeatPeriodMs(15000L);
        tubeClientConfig.setRpcTimeoutMs(20000L);

        return tubeClientConfig;
    }
If this function is called successively without calling {@see #destroyConnection()}, only the
first call has any effect.

@throws FlumeException if an RPC client connection could not be opened
inlong-audit/audit-proxy/src/main/java/org/apache/inlong/audit/sink/TubeSink.java