dubbo源码解析,关于cache缓存日志

来源:互联网 发布:苹果cms 编辑:程序博客网 时间:2024/05/29 07:13

在dubbo中,会有cache缓存文件,这样消费端就可以直接调用服务端,那么这个缓存文件是怎么生成的呢,我们看下源码分析。

首先在dorefer方法中,会进行发布订阅,就是标蓝那行,

然后

在发布订阅方法中,有个notify()方法,此方法最后进入了,AbstractRegistry的notify方法,如下:我们直接看关键性代码:

dubbo就是在这个saveProperties方法中做了缓存文件写入。不过这个缓存文件是加锁写入的,如果多个应用同时读取同一个文件,会报错,如下:

以上是doSaveProperties()方法中的一段,在获取不到缓存文件锁的时候就会抛出以上异常。