private String generateProducerID() throws Exception {
        String pidName = ManagementFactory.getRuntimeMXBean().getName();
        if (pidName != null && pidName.contains("@")) {
            pidName = pidName.split("@")[0];
        }
        return new StringBuilder(256)
                .append(AddressUtils.getLocalAddress())
                .append("-").append(pidName)
                .append("-").append(System.nanoTime())
                .append("-").append(Math.abs(sRandom.nextInt()))
                .append("-").append(TubeClientVersion.PRODUCER_VERSION).toString();
    }
Get partitions of the given topic.

@param topic topic name
@return partition map
inlong-tubemq/tubemq-client/src/main/java/org/apache/inlong/tubemq/client/producer/ProducerManager.java