mini-rpc
mini-rpc copied to clipboard
RpcConsumerPostProcessor创建RpcReferenceBean对应的BeanDefinition问题
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(RpcReferenceBean.class); builder.setInitMethodName(RpcConstants.INIT_METHOD_NAME); builder.addPropertyValue("interfaceClass", field.getType()); builder.addPropertyValue("serviceVersion", annotation.serviceVersion()); builder.addPropertyValue("registryType", annotation.registryType()); builder.addPropertyValue("registryAddr", annotation.registryAddress()); builder.addPropertyValue("timeout", annotation.timeout()); BeanDefinition beanDefinition = builder.getBeanDefinition(); rpcRefBeanDefinitions.put(field.getName(), beanDefinition); 上面以field.getName()为key,可能会创建多个不同fieldName,但是一样的beanDefinition;同时也可能覆盖同样fieldName但是annotation.serviceVersion()版本不一样的beanDefinition