服务引用过程
1.DubboConsumerBootstrap为什么不是ConsumerBootstrap 的扩展点?
2.rest是什么?
3.bolt 和 rest 并没有什么区别?为嘛要搞两个?不冗余嘛?
4.Cluster 是抽象类,也是扩展点,实现了 Invoker, ProviderInfoListener, Initializable, Destroyable 等接口。而他目前的具体扩
5.扩展点有 2 个: FailFastCluster(快速失败), FailoverCluster(故障转移和重试)从哪里可看出来?
6.Cluster 中没有init,因为在AbstractCluster里。
7.sendMsg同步调用则阻塞等待数据。具体代码?
8.ConsumerBootstrap的扩展点为什么没有DefaultConsumerBootstrap?
扩展
1.path 和 file 属性拼接。这里其实可以使用 StringBuilder。
2.不理解:SPI 设计的好处,如用策略模式实现的话,ClassLoader 必定相同,类似 SPI 的设计,上层应用和下层应用的 ClassLoader 隔离开来。
3.通过加载指定路径 + 接口名(或 Extensible 指定 file),得到文件名,读取文件中的文本。按行读取,可能读取多次,指的是哪里?
4.SPI 文件是指?
(6)融入spring
1.SofaBootNamespaceHandler 如何找到ServiceDefinitionParser 和 ReferenceDefinitionParser这两个实现?
2.注册到 Spring 的 parsers map 中。key 是 element 名字,value 是解析器。在哪里看到?
3.实际上,在AbstractSingleBeanDefinitionParser抽象类中,会有一个返回 Bean 类型的方法,对应着一个 tag,而他们的父类就是AbstractContractFactoryBean。这句没找到对应的代码
4.ReferenceComponent类的 createProxy 方法如何和return的proxy联系起来
5.RpcBindingAdapter这个类木有找到啊
6.当收到了客户端传来的信息,就直接调用实现类的指定方法就好了,没有客户端这么复杂(没有服务端复杂?)
(7)自定义线程池
1.UserThreadPoolManager 初始化参数在哪里能看到?