请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

调试ReferenceBean时遇到问题

Dubbo 2.6.0版本
ReferenceBean继承了ReferenceConfig, 并实现了spring的FactoryBean接口,
但我在调试的时候遇到一个怪事

在spring要获取代理类的时候首先会进入ReferenceBean.getObject()方法获取
我断点在ReferenceBean.getObject()方法中的时候看到 ref 和 invoker 还是null
图片描述

但当我执行步入到父类ReferenceConfig.get()方法的时候, ref和invoker居然有值了!!!
图片描述

这是为什么呢?

正在回答 回答被采纳积分+3

1回答

Allen 2022-01-07 20:25:56

这个在后面会讲到, 是一层代理

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_慕丝0528892 #1
    代理我可以理解, 但是代理也不能插在子类和父类之间吧.
    我的调试是子类调用父类方法, 
    子类看属性还是空, 刚进入父类方法就有值了
    dubbo2.6的ReferenceBean定义是这样的:
    public class ReferenceBean<T> extends ReferenceConfig<T> implements FactoryBean, ApplicationContextAware, InitializingBean, DisposableBean {
    ...
    从ReferenceBean.getObject()到父类ReferenceConfig.get()不存在代理才对
    回复 有任何疑惑可以回复我~ 2022-01-15 00:08:01
  • Allen 回复 提问者 qq_慕丝0528892 #2
    他们之间其实不是父子类的关系, 没关系, 你看到后面自然会知道的
    回复 有任何疑惑可以回复我~ 2022-01-15 10:16:01
  • 提问者 qq_慕丝0528892 回复 Allen #3
    3.0的是不是, 但2.6的还是吧? 
    class ReferenceBean<T> extends ReferenceConfig<T>
    这继承关系是写死的吧
    回复 有任何疑惑可以回复我~ 2022-01-18 11:48:03
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信