liufeiyu1002 opened a new pull request, #11699:
URL: https://github.com/apache/dubbo/pull/11699

   ## What is the purpose of the change
   
   fix reference bean name conflicts 
   这个问题之前修复过一次,情况没有考虑全面, 启动顺序不同会导致失败
   eg:
   ```
   @DubboReference
   private AService aservice;
   @DubboReference
   private AService bservice;
   @DubboReference
   private BService bservice;
   ```
   当 `AService` 扫描完成以后, 容器中为
   
   1.  ` beanDefintions("aservice",ABeanDefinitonInfo) `
   2.  ` alias ("bservice","aservice")`
   
   扫描`BService` 时 容器中为
   
   1. `BeanDefinitions ("bservice":BDefinitionInfo)` 
   
   因为当扫描`BService`  执行到   ` if 
(beanDefinitionRegistry.containsBeanDefinition(referenceBeanName))`  这里 
`referenceBeanName 值为 bservice ` 会返回false, 且`bservice `是第一次注册会直接注册到 
BeanDefinitions 中
   
   此时会出现即注册了 `AService `的alias `bservice` 又注册了 `BService`的 `beanDefinition 
`的`bservice `,在注入属性时会获取到错误的类型
   
   ## Brief changelog
   
   
   ## Verifying this change
   
   
   <!-- Follow this checklist to help us incorporate your contribution quickly 
and easily: -->
   
   ## Checklist
   - [x] Make sure there is a 
[GitHub_issue](https://github.com/apache/dubbo/issues) field for the change 
(usually before you start working on it). Trivial changes like typos do not 
require a GitHub issue. Your pull request should address just this issue, 
without pulling in other changes - one PR resolves one issue.
   - [ ] Each commit in the pull request should have a meaningful subject line 
and body.
   - [ ] Write a pull request description that is detailed enough to understand 
what the pull request does, how, and why.
   - [ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
   - [ ] Write necessary unit-test to verify your logic correction, more mock a 
little better when cross module dependency exist. If the new feature or 
significant change is committed, please remember to add sample in [dubbo 
samples](https://github.com/apache/dubbo-samples) project.
   - [ ] Add some description to 
[dubbo-website](https://github.com/apache/dubbo-website) project if you are 
requesting to add a feature.
   - [ ] GitHub Actions works fine on your own branch.
   - [ ] If this contribution is large, please follow the [Software Donation 
Guide](https://github.com/apache/dubbo/wiki/Software-donation-guide).
   


-- 
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: notifications-unsubscr...@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@dubbo.apache.org
For additional commands, e-mail: notifications-h...@dubbo.apache.org

Reply via email to