private void destroyConnection() {
        producerInfoMap.clear();
        if (pulsarClient != null) {
            try {
                pulsarClient.shutdown();
            } catch (PulsarClientException e) {
                logger.error("destroy pulsarClient error in PulsarSink, PulsarClientException {}",
                        e.getMessage());
            } catch (Exception e) {
                logger.error("destroy pulsarClient error in PulsarSink, ex {}", e.getMessage());
            }
        }
        pulsarClient = null;
        logger.debug("closed meta producer");
    }
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/pulsar/PulsarClientService.java