@Override
    public Set<String> publish(Set<String> topicSet) throws TubeClientException {
        if (isShutDown.get()) {
            throw new TubeClientException("Status error: producer has been shutdown!");
        }
        if ((topicSet == null) || topicSet.isEmpty()) {
            throw new TubeClientException("Illegal parameter: topicSet is null or empty!");
        }
        Set<String> newTopicSet = new HashSet<>();
        for (String topicItem : topicSet) {
            if (TStringUtils.isBlank(topicItem)) {
                throw new TubeClientException(new StringBuilder(256)
                        .append("Illegal parameter: found blank topic value in topicSet : ")
                        .append(topicSet).toString());
            }
            newTopicSet.add(topicItem.trim());
        }
        long curTime = System.currentTimeMillis();
        for (String topicName : newTopicSet) {
            publishTopicMap.putIfAbsent(topicName, curTime);
        }
        return this.producerManager.publish(newTopicSet);
    }
Publish a set of topics.

@param topicSet topic names
@return successful published topic names
@throws TubeClientException
inlong-tubemq/tubemq-client/src/main/java/org/apache/inlong/tubemq/client/producer/SimpleMessageProducer.java