apache / apache/incubator-seata
consumer can't generate proxy as normal in tcc dubbo 2.x mode , so it doesn't work.
- Dominant language
- Java
- Stars
- 26k
- Forks
- 8.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 4
Description
- [ ] I have searched the [issues](https://github.com/seata/seata/issues) of this repository and believe that this is not a duplicate.
### Ⅰ. Issue Description
in dubbo 2.x version, when use @Reference annotation to inject remote bean. spring hook can't intercept the create of ReferenceBean, it lead to can't generate consumer's TCC proxy, dubbo 3.x optimize the create process of ReferenceBean.
在dubbo 2.x 的版本中,当使用@Reference注解依赖注入远程bean的时候,spring hook不能拦截到ReferenceBean的创建,导致不能生成消费者的TCC代理。dubbo 3.x优化了ReferenceBean的创建
extend from https://github.com/seata/seata/issues/6096
### Ⅱ. Describe what happened
in dubbo 2.x version, when use @Reference annotation to inject remote bean, the process is finish by ReferenceAnnotationBeanPostProcessor,because of generate bean directly and inject container, so spring hook can't get it. this lead seata fail to generate consumer's TCC proxy.
在dubbo 2.x 的版本中,当使用@Reference注解依赖注入时,是通过ReferenceAnnotationBeanPostProcessor来创建ReferenceBean的.由于是直接生成Bean,注入到容器中,导致不能走到spring 创建Bean的hook中,从而在seata中无法生成consumer端的tcc代理.


### Ⅲ. Describe what you expected to happen
### Ⅳ. How to reproduce it (as minimally and precisely as possible)
1. xxx
2. xxx
3. xxx
Minimal yet complete reproducer code (or URL to code):
### Ⅴ. Anything else we need to know?
### Ⅵ. Environment:
- JDK version(e.g. `java -version`):
- Seata client/server version:
- Database version:
- OS(e.g. `uname -a`):
- Others:
Contributor guide
Research direction
Start by reading the ReferenceAnnotationBeanPostProcessor flow described in the issue and the Spring bean-creation hook that Seata relies on. Reproduce the @Reference injection path in Dubbo 2.x and compare it with the stated Dubbo 3.x behavior. Done means a consumer-side TCC proxy is generated for the Dubbo 2.x path; the issue provides no test or file name to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100