不吃西葫芦
不吃西葫芦
rocketmq-produce-example 指定binding为事务消息无效 >spring.cloud.stream.rocketmq.bindings.output2.producer.transactional=true 如图: 看代码已经被移除了 >spring.cloud.stream.rocketmq.bindings.output2.producer.producerType=Trans 我用上面替换了就好了。没有仔细看过代码 不知道用法是否正确
另外,在如图位置 无法将自己实现的TransactionListener加入到RocketMQBeanContainerCache,是未扫描到 我不清楚spring初始化的具体逻辑 我跑的是example (好像是Spring cloud上下文分层的关系 debug之后发现只能扫描到这几个bean
> > 另外,在如图位置 > > > > 无法将自己实现的TransactionListener加入到RocketMQBeanContainerCache,是未扫描到 > > 我不清楚spring初始化的具体逻辑 > > 我跑的是example > > (好像是~Spring cloud~上下文分层的关系 > > > > debug之后发现只能扫描到这几个bean > > 这个的原因是TransactionListener 先于RocketMQConfigBeanPostProcessor 初始化了,导致BeanPostProcessor#postProcessAfterInitialization获取不到这个bean,RocketMQBeanContainerCache也就没有了。你可以看下BeanPostProcessor的介绍 我理解的BeanPostProcessor是会给spring容器里的每一个bean做处理,与注入的先后顺序无关,如果使用时需要考虑注入顺序的问题,那这个方法使用上会给使用者带来很大的困扰,spring大概不会这么做
> 这个问题,后面会被修复;同时也欢迎大家的积极反馈和参与。 我没有研究过Spring cloud steam将上下文分层的目的是什么。我修复该问题的手段是把RocketMQConfigBeanPostProcessor的注入从spring.binders文件移动到了spring.factories中间,使得他能直接在parent context初始化从而代理到我们自定义的bean 上述操作我提交了一个pr--[fix issus#2040](https://github.com/alibaba/spring-cloud-alibaba/pull/2041)
Same issue
> dont use hardware by companies from authoritarian regimes bro I got same issus. But, what's that mean?
真TM6,支持,up搞快点