in rocketmq-v5-client-spring-boot/src/main/java/org/apache/rocketmq/client/autoconfigure/RocketMQAutoConfiguration.java [75:92]
public ProducerBuilder producerBuilder(RocketMQProperties rocketMQProperties) {
RocketMQProperties.Producer rocketMQProducer = rocketMQProperties.getProducer();
log.info("Init Producer Args: " + rocketMQProducer);
String topic = rocketMQProducer.getTopic();
String endPoints = rocketMQProducer.getEndpoints();
Assert.hasText(endPoints, "[rocketmq.producer.endpoints] must not be null");
ClientConfiguration clientConfiguration = RocketMQUtil.createProducerClientConfiguration(rocketMQProducer);
final ClientServiceProvider provider = ClientServiceProvider.loadService();
ProducerBuilder producerBuilder;
producerBuilder = provider.newProducerBuilder()
.setClientConfiguration(clientConfiguration)
// Set the topic name(s), which is optional but recommended. It makes producer could prefetch the topic
// route before message publishing.
.setTopics(rocketMQProducer.getTopic())
.setMaxAttempts(rocketMQProducer.getMaxAttempts());
log.info(String.format("a producer init on proxy %s", endPoints));
return producerBuilder;
}