private void initTopicProducer(String topic) throws TubeClientException {
        if (StringUtils.isEmpty(topic)) {
            logger.error("topic is empty");
            return;
        }
        if (sessionFactory == null) {
            throw new TubeClientException("sessionFactory is null, can't create producer");
        }

        if (producer == null) {
            producer = sessionFactory.createProducer();
        }

        producer.publish(topic);
        producerMap.put(topic, producer);
        logger.info(getName() + " success publish topic: " + topic);
    }
Currently, all topics are published by the same producer. If needed, extend it to multi producers.

@param topic
@throws TubeClientException
inlong-audit/audit-proxy/src/main/java/org/apache/inlong/audit/sink/TubeSink.java