ChildrenGreens opened a new issue, #593: URL: https://github.com/apache/rocketmq-spring/issues/593
1. `RocketMQAutoConfiguration`不应该`@Configuration(proxyBeanMethods=false)`不使用cglib代理提高性能么? 2. `ListenerContainerConfiguration`等类中,因为是通过`@Import`导入的,类功能并不是一个配置类,所以无需加`@Configuration`注解。这种方式是不是有问题,更合理的方式应该在`RocketMQAutoConfiguration`通过@Bean方式导入即可。 3. `RocketMQAutoConfiguration`类中rocketMQTemplate方法中,rocketMQMessageConverter参数,直接放了一个实体类,如果换成抽象类,会不会更好点增加用户的可扩展性。虽然`RocketMQMessageConverter`中默认使用了`CompositeMessageConverter`增加多种类型消息转换,但是我现在像增加一种比如像kryo消息转换方式,似乎就变得很麻烦。 ```java @Bean(destroyMethod = "destroy") @Conditional(ProducerOrConsumerPropertyCondition.class) @ConditionalOnMissingBean(name = ROCKETMQ_TEMPLATE_DEFAULT_GLOBAL_NAME) public RocketMQTemplate rocketMQTemplate(RocketMQMessageConverter rocketMQMessageConverter) { RocketMQTemplate rocketMQTemplate = new RocketMQTemplate(); if (applicationContext.containsBean(PRODUCER_BEAN_NAME)) { rocketMQTemplate.setProducer((DefaultMQProducer) applicationContext.getBean(PRODUCER_BEAN_NAME)); } if (applicationContext.containsBean(CONSUMER_BEAN_NAME)) { rocketMQTemplate.setConsumer((DefaultLitePullConsumer) applicationContext.getBean(CONSUMER_BEAN_NAME)); } rocketMQTemplate.setMessageConverter(rocketMQMessageConverter.getMessageConverter()); return rocketMQTemplate; } ``` 4. `RocketMQAutoConfiguration`如下代码,是不让整个类看起来很混乱? ``` java public static final String ROCKETMQ_TEMPLATE_DEFAULT_GLOBAL_NAME = "rocketMQTemplate"; public static final String PRODUCER_BEAN_NAME = "defaultMQProducer"; public static final String CONSUMER_BEAN_NAME = "defaultLitePullConsumer"; @Autowired private Environment environment; private ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } ``` 类似问题很多,不能只停留在实现功能层面。spring源码还是优秀的,可以有很多借鉴和学习,希望阿里项目组好好优化优化,得到更多同行的认可。 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@rocketmq.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org