Skip to content

Commit

Permalink
Rename 2 post links(Dubbo)
Browse files Browse the repository at this point in the history
  • Loading branch information
moralok committed Dec 4, 2023
1 parent af27fcf commit f637107
Show file tree
Hide file tree
Showing 6 changed files with 2 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -630,7 +630,7 @@ private void injectValue(T instance, Method method, Class<?> pt, String property
}
```

`objectFactory` 是 `ExtensionFactory` 的自适应拓展,通过它获取依赖对象,本质上是根据目标拓展类获取 `ExtensionLoader`,然后获取其自适应拓展,过程代码如下。具体我们不再深入分析,可以参考{% post_link 'how-Dubbo-SPI-adaptive-extension-works' 'Dubbo SPI 自适应拓展的工作原理' %}。
`objectFactory` 是 `ExtensionFactory` 的自适应拓展,通过它获取依赖对象,本质上是根据目标拓展类获取 `ExtensionLoader`,然后获取其自适应拓展,过程代码如下。具体我们不再深入分析,可以参考{% post_link 'how-does-Dubbo-SPI-adaptive-extension-works' 'Dubbo SPI 自适应拓展的工作原理' %}。

```java
public <T> T getExtension(Class<T> type, String name) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ private T createAdaptiveExtension() {
2. 检查缓存 `cachedAdaptiveClass`,如果不为 `null`,则返回缓存。
3. 如果缓存为 `null`,则调用 `createAdaptiveExtensionClass` 创建自适应拓展类(代理类)。

在{% post_link 'how-Dubbo-SPI-works' 'Dubbo SPI 的工作原理' %}中我们分析过 `getExtensionClasses` 方法,在获取拓展的所有实现类时,如果某个实现类被 `Adaptive` 注解标注了,那么该类就会被赋值给 `cachedAdaptiveClass` 变量。“原理”部分介绍的 `AdaptiveExtensionFactory` 就属于这种情况,我们不再细谈。按前文所说,在绝大多数情况下,`Adaptive` 注解都是用于标注方法而非标注具体的实现类,因此在大多数情况下程序都会走第三个步骤,由框架自动生成自适应拓展类(代理类)。
在{% post_link 'how-does-Dubbo-SPI-works' 'Dubbo SPI 的工作原理' %}中我们分析过 `getExtensionClasses` 方法,在获取拓展的所有实现类时,如果某个实现类被 `Adaptive` 注解标注了,那么该类就会被赋值给 `cachedAdaptiveClass` 变量。“原理”部分介绍的 `AdaptiveExtensionFactory` 就属于这种情况,我们不再细谈。按前文所说,在绝大多数情况下,`Adaptive` 注解都是用于标注方法而非标注具体的实现类,因此在大多数情况下程序都会走第三个步骤,由框架自动生成自适应拓展类(代理类)。

```java
private Class<?> getAdaptiveExtensionClass() {
Expand Down

0 comments on commit f637107

Please sign in to comment.