in rocketmq-v5-client-spring-boot/src/main/java/org/apache/rocketmq/client/autoconfigure/ExtTemplateResetConfiguration.java [82:99]
private void registerTemplate(String beanName, Object bean) {
Class<?> clazz = AopProxyUtils.ultimateTargetClass(bean);
if (!RocketMQClientTemplate.class.isAssignableFrom(bean.getClass())) {
throw new IllegalStateException(clazz + " is not instance of " + RocketMQClientTemplate.class.getName());
}
ExtProducerResetConfiguration annotation = clazz.getAnnotation(ExtProducerResetConfiguration.class);
GenericApplicationContext genericApplicationContext = (GenericApplicationContext) applicationContext;
validate(annotation, genericApplicationContext);
ProducerBuilder producerBuilder = createProducer(annotation);
RocketMQClientTemplate rocketMQTemplate = (RocketMQClientTemplate) bean;
rocketMQTemplate.setProducerBuilder(producerBuilder);
rocketMQTemplate.setMessageConverter(rocketMQMessageConverter.getMessageConverter());
String topic = environment.resolvePlaceholders(annotation.topic());
log.info("Set real producer to {} using topic {}", beanName, topic);
}