2.6.5 迁移 2.7.9 不兼容
- [ ] I have searched the issues of this repository and believe that this is not a duplicate.
- [ ] I have checked the FAQ of this repository and believe that this is not a duplicate.
Environment
- Dubbo version: 2.7.9
- Operating System version: mac
- Java version: 1.8
Steps to reproduce this issue
- 升级前的dubbo版本是2.6.5
- 升级后的dubbo版本是2.7.9
- 2.6.5有一段这样的代码,在新版本中不兼容,新版本中应该如何处理:
Set<ProviderInvokerWrapper> providerInvokerWrapperSet = ProviderConsumerRegTable.getProviderInvoker(providerModel.getServiceName()); for (ProviderInvokerWrapper providerInvokerWrapper : providerInvokerWrapperSet) { if (providerInvokerWrapper.isReg()) { isReg = true; break; } }
`Set<ConsumerInvokerWrapper> consumerInvokerWrapperSet = ProviderConsumerRegTable.getConsumerInvoker(consumerModel.getServiceName());
for (ConsumerInvokerWrapper consumerInvokerWrapper : consumerInvokerWrapperSet) {
Map<String, Invoker> urlInvokerMap = consumerInvokerWrapper.getRegistryDirectory().getUrlInvokerMap();`
Pls. provide [GitHub address] to reproduce this issue.
Expected Result
What do you expected from the above steps?
Actual Result
ProviderInvokerWrapper,ProviderConsumerRegTable,ConsumerInvokerWrapper,ProviderConsumerRegTable在新的版本中没有,导致编译错误
What actually happens?
期望有相同功能的写法
If there is an exception, please attach the exception trace:
Just put your stack trace here!
我是从2.7.4.X升级到3.X的,也出现了这个问题,之后通过对比dubbo源码Offline.java找到替代的方法。
2.7.4.X: Set<ProviderInvokerWrapper> providerInvokerWrapperSet = ProviderConsumerRegTable.getProviderInvoker(provider.getServiceName());
3.X: FrameworkServiceRepository serviceRepository = FrameworkModel.defaultModel().getServiceRepository(); Collection<ProviderModel> providerModelCollection = serviceRepository.allProviderModels();