This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch cn-site
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git
The following commit(s) were added to refs/heads/cn-site by this push:
new b583b67aef7 deploy: 9e06f9f80b21a160fc7885446b082d13ebb5319c
b583b67aef7 is described below
commit b583b67aef71b72ec30a843cb644afc994c083c8
Author: AlbumenJ <[email protected]>
AuthorDate: Sun Feb 4 02:04:00 2024 +0000
deploy: 9e06f9f80b21a160fc7885446b082d13ebb5319c
---
sitemap.xml | 2 +-
.../index.html" | 6 +++---
zh-cn/blog/java/codeanalysis/3.0.8/index.xml | 4 ++--
zh-cn/sitemap.xml | 2 +-
zh-cn/tags/java/index.xml | 4 ++--
.../\346\272\220\347\240\201\350\247\243\346\236\220/index.xml" | 4 ++--
6 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/sitemap.xml b/sitemap.xml
index 27af3a7b3ca..f0876444368 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://cn.dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2024-02-01T17:47:34+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2024-02-01T17:47:34+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://cn.dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2024-02-04T09:59:42+08:00</lastmod></sitemap><sitemap><loc>https://cn.dubbo.apache.org/en/sitemap.xml</loc><lastmod>2024-02-01T17:47:34+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git
"a/zh-cn/blog/2022/08/02/02-\345\220\257\345\212\250\346\234\215\345\212\241\345\211\215\346\234\215\345\212\241\351\205\215\347\275\256serviceconfig\347\261\273\345\236\213\346\230\257\345\246\202\344\275\225\345\210\235\345\247\213\345\214\226\347\232\204/index.html"
"b/zh-cn/blog/2022/08/02/02-\345\220\257\345\212\250\346\234\215\345\212\241\345\211\215\346\234\215\345\212\241\351\205\215\347\275\256serviceconfig\347\261\273\345\236\213\346\230\257\345\246\202\344\275\225\34
[...]
index e266157a9ed..9753f2d1649 100644
---
"a/zh-cn/blog/2022/08/02/02-\345\220\257\345\212\250\346\234\215\345\212\241\345\211\215\346\234\215\345\212\241\351\205\215\347\275\256serviceconfig\347\261\273\345\236\213\346\230\257\345\246\202\344\275\225\345\210\235\345\247\213\345\214\226\347\232\204/index.html"
+++
"b/zh-cn/blog/2022/08/02/02-\345\220\257\345\212\250\346\234\215\345\212\241\345\211\215\346\234\215\345\212\241\351\205\215\347\275\256serviceconfig\347\261\273\345\236\213\346\230\257\345\246\202\344\275\225\345\210\235\345\247\213\345\214\226\347\232\204/index.html"
@@ -1,5 +1,5 @@
<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS
content="INDEX, FOLLOW"><link rel=canonical
href=https://cn.dubbo.apache.org/zh-cn/blog/2022/08/02/02-%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E5%89%8D%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AEserviceconfig%E7%B1%BB%E5%9E%8B%E6%98%AF%E5%A6%82%E4%BD%95%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%84/><script>var
_hmt=_hmt||[];(function(){var
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9
[...]
-<meta property="og:description" content="Dubbo 源码解析之 ServiceConfig
类型是如何初始化的?"><meta property="og:type" content="article"><meta property="og:url"
content="https://cn.dubbo.apache.org/zh-cn/blog/2022/08/02/02-%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E5%89%8D%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AEserviceconfig%E7%B1%BB%E5%9E%8B%E6%98%AF%E5%A6%82%E4%BD%95%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%84/"><meta
property="article:section" content="blog"><meta
property="article:published_time" content="2022-08-0 [...]
+<meta property="og:description" content="Dubbo 源码解析之 ServiceConfig
类型是如何初始化的?"><meta property="og:type" content="article"><meta property="og:url"
content="https://cn.dubbo.apache.org/zh-cn/blog/2022/08/02/02-%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E5%89%8D%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AEserviceconfig%E7%B1%BB%E5%9E%8B%E6%98%AF%E5%A6%82%E4%BD%95%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%84/"><meta
property="article:section" content="blog"><meta
property="article:published_time" content="2022-08-0 [...]
<label for=m-zh-cnblognews-check><a href=/zh-cn/blog/news/ class="align-left
pl-0 td-sidebar-link td-sidebar-link__section"
id=m-zh-cnblognews><span>社区动态</span></a></label><ul class="ul-2 foldable"><li
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child"
id=m-zh-cnblog20221201dubbo-java-314-e6ada3e5bc8fe58f91e5b883-li><input
type=checkbox
id=m-zh-cnblog20221201dubbo-java-314-e6ada3e5bc8fe58f91e5b883-check>
<label for=m-zh-cnblog20221201dubbo-java-314-e6ada3e5bc8fe58f91e5b883-check><a
href=/zh-cn/blog/2022/12/01/dubbo-java-3.1.4-%E6%AD%A3%E5%BC%8F%E5%8F%91%E5%B8%83/
title="Dubbo Java 3.1.4 正式发布" class="align-left pl-0 td-sidebar-link
td-sidebar-link__page"
id=m-zh-cnblog20221201dubbo-java-314-e6ada3e5bc8fe58f91e5b883><span>dubbo-java
3.1.4</span></a></label></li><li class="td-sidebar-nav__section-title
td-sidebar-nav__section without-child"
id=m-zh-cnblog20221022e8819ae784a6e7a8b3e5ae9ae680 [...]
<label
for=m-zh-cnblog20221022e8819ae784a6e7a8b3e5ae9ae680a7dubbo-java-e58f91e78988e8a784e58892e585ace5b883-check><a
href=/zh-cn/blog/2022/10/22/%E8%81%9A%E7%84%A6%E7%A8%B3%E5%AE%9A%E6%80%A7dubbo-java-%E5%8F%91%E7%89%88%E8%A7%84%E5%88%92%E5%85%AC%E5%B8%83/
title="聚焦稳定性,Dubbo Java 发版规划公布" class="align-left pl-0 td-sidebar-link
td-sidebar-link__page"
id=m-zh-cnblog20221022e8819ae784a6e7a8b3e5ae9ae680a7dubbo-java-e58f91e78988e8a784e58892e585ace5b883><span>Dubbo
Java 发版规划</span></a></label>< [...]
@@ -220,8 +220,8 @@
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><p>上面这几行代码虽然看似简单,仅仅几行的启动,但是完全掌握也得下一翻大功夫,接下来我们重点看启动代码中的第一行,创建一个服务配置对象:</p><div
class=highlight><pre tabindex=0
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-java data-lang=java><span
style=display:flex><span>ServiceConfig<span
style=color:#719e07><</span>DemoServiceImpl<span
style=color:#719e07>></span> service <span style=color:#719e07>=</span>
<span style=color:#719e07>new</span> ServiceC [...]
</span></span></code></pre></div><h2 id=22-了解一下服务配置的建模>2.2
了解一下服务配置的建模</h2><p>下面是一个简单的UML继承关系图,当然这个图很是简单的,这里仅仅列出了当前服务提供者的相关服务配置继承关系,
服务提供者独有的配置标注颜色为蓝色,一些可能与服务引用配置所共有的父类型我们用红色背景,当然这里为了简便起见不会提起服务引用相关的配置类型,这里列举了如下服务提供者类型,他们各司其职:
-<img src=/imgs/blog/source-blog/2-ServiceConfig.png
alt=在这里插入图片描述></p><center>图2.1
服务引用类继承关系UML</center><ul><li>AbstractConfig<ul><li><strong>抽象的配置类型</strong>,也是最顶层的服务配置类型,封装着解析配置的实用方法和公共方法,比如服务id的设置,服务标签名字的处理,服务参数的添加,属性的提取等等</li></ul></li><li>AbstractMethodConfig<ul><li><strong>抽象的方法配置</strong>,同样这个类型也是见名知意,服务方法的相关配置处理,这个类型主要用于对服务方法的一些配置信息建模比如服务方法的调用超时时间,重试次数,最大并发调用数,负载均衡策略,是否异步调用,是否确认异步发送等等配置信息.</li></ul></li><li>AbstractInterfaceConfig<ul><li><strong>抽象的接口配置</strong>,与前面介绍的方法配置类似,这个类型
[...]
--
<strong>抽象的服务配置</strong>,这个就与我们的服务提供者有了具体的关系了,主要记录了一些服务提供者的公共配置,如服务版本,服务分组,服务延迟注册毫秒数,是否暴漏服务,服务权重,是否为动态服务,服务协议类型,是否注册等等.</li><li>ServiceConfigBase
+<img src=/imgs/blog/source-blog/2-ServiceConfig.png
alt=在这里插入图片描述></p><center>图2.1
服务引用类继承关系UML</center><ul><li>AbstractConfig<ul><li><strong>抽象的配置类型</strong>,也是最顶层的服务配置类型,封装着解析配置的实用方法和公共方法,比如服务id的设置,服务标签名字的处理,服务参数的添加,属性的提取等等</li></ul></li><li>AbstractMethodConfig<ul><li><strong>抽象的方法配置</strong>,同样这个类型也是见名知意,服务方法的相关配置处理,这个类型主要用于对服务方法的一些配置信息建模比如服务方法的调用超时时间,重试次数,最大并发调用数,负载均衡策略,是否异步调用,是否确认异步发送等等配置信息.</li></ul></li><li>AbstractInterfaceConfig<ul><li><strong>抽象的接口配置</strong>,与前面介绍的方法配置类似,这个类型
[...]
+-
<strong>抽象的服务配置</strong>,这个就与我们的服务提供者有了具体的关系了,主要记录了一些服务提供者的公共配置,如服务版本,服务分组,服务延迟注册毫秒数,是否暴露服务,服务权重,是否为动态服务,服务协议类型,是否注册等等.</li><li>ServiceConfigBase
-
<strong>服务的基础配置类</strong>,这个类型仍旧是个抽象的类型提取了一些基础的配置:导出服务的接口类,服务名称,接口实现的引用类型,提供者配置,是否是通用服务GenericService</li><li>ServiceConfig
- <strong>服务配置实现类</strong>,
上面的类型都是抽象类型不能做为具体存在的事物,这个类型是我们出现的第一个服务配置实现类型,服务配置实现类已经从父类型中继承了这么多的属性,这里主要为实现服务提供了一些配置如服务的协议配置,服务的代理工厂JavassistProxyFactory是将生成导出服务代理的ProxyFactory实现,是其默认实现,服务提供者模型,是否导出服务,导出的服务列表,服务监听器等等.</li><li>ServiceBean
- <strong>服务工厂Bean</strong>
,这个主要是Spring模块来简化配置的一个服务工厂Bean这里就先不详细介绍Spring相关的配置. -</li></ul><h2
id=23-serviceconfig构造器的初始化调用链>2.3
ServiceConfig构造器的初始化调用链</h2><p>有了上面的类型继承关系我们就比较好分析了,接下来我们开始创建服务配置对象如下代码所示:</p><div
class=highlight><pre tabindex=0
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-java data-lang=java><span
style=display:flex><span>ServiceConfig<span
style=color:#719e07><</span>DemoServiceImpl<span style=color:#719e07 [...]
diff --git a/zh-cn/blog/java/codeanalysis/3.0.8/index.xml
b/zh-cn/blog/java/codeanalysis/3.0.8/index.xml
index 927b53b0b21..cf923838026 100644
--- a/zh-cn/blog/java/codeanalysis/3.0.8/index.xml
+++ b/zh-cn/blog/java/codeanalysis/3.0.8/index.xml
@@ -8951,11 +8951,11 @@ FrameworkModel 重置默认的应用模型对象 resetDefaultAppModel()方法
</li>
<li>AbstractInterfaceConfig
<ul>
-<li><strong>抽象的接口配置</strong>,与前面介绍的方法配置类似,这个类型是对服务接口的建模,主要的配置信息有暴漏服务的接口名字,服务接口的版本号,客户/提供方将引用的远程服务分组,<strong>服务元数据</strong>,服务接口的本地impl类名,服务监控配置,对于生成动态代理的策略,可以选择两种策略:jdk和javassist,容错类型等等配置</li>
+<li><strong>抽象的接口配置</strong>,与前面介绍的方法配置类似,这个类型是对服务接口的建模,主要的配置信息有暴露服务的接口名字,服务接口的版本号,客户/提供方将引用的远程服务分组,<strong>服务元数据</strong>,服务接口的本地impl类名,服务监控配置,对于生成动态代理的策略,可以选择两种策略:jdk和javassist,容错类型等等配置</li>
</ul>
</li>
<li>AbstractServiceConfig
--
<strong>抽象的服务配置</strong>,这个就与我们的服务提供者有了具体的关系了,主要记录了一些服务提供者的公共配置,如服务版本,服务分组,服务延迟注册毫秒数,是否暴漏服务,服务权重,是否为动态服务,服务协议类型,是否注册等等.</li>
+-
<strong>抽象的服务配置</strong>,这个就与我们的服务提供者有了具体的关系了,主要记录了一些服务提供者的公共配置,如服务版本,服务分组,服务延迟注册毫秒数,是否暴露服务,服务权重,是否为动态服务,服务协议类型,是否注册等等.</li>
<li>ServiceConfigBase
-
<strong>服务的基础配置类</strong>,这个类型仍旧是个抽象的类型提取了一些基础的配置:导出服务的接口类,服务名称,接口实现的引用类型,提供者配置,是否是通用服务GenericService</li>
<li>ServiceConfig
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index 1132c7e6410..dacf474a409 100644
--- a/zh-cn/sitemap.xml
+++ b/zh-cn/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://cn.dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-11-28T15:14:12+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://cn.dubbo.apache.org/zh-cn/overview/mannu
[...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://cn.dubbo.apache.org/zh-cn/blog/2023/01/16/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%8D%87%E7%BA%A7-dubbo3-%E5%85%A8%E9%9D%A2%E5%8F%96%E4%BB%A3-hsf2/</loc><lastmod>2023-11-28T15:14:12+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url><url><loc>https://cn.dubbo.apache.org/zh-cn/overview/mannu
[...]
\ No newline at end of file
diff --git a/zh-cn/tags/java/index.xml b/zh-cn/tags/java/index.xml
index 854e7b54a34..b9ace53af74 100644
--- a/zh-cn/tags/java/index.xml
+++ b/zh-cn/tags/java/index.xml
@@ -10843,11 +10843,11 @@ FrameworkModel 重置默认的应用模型对象 resetDefaultAppModel()方法
</li>
<li>AbstractInterfaceConfig
<ul>
-<li><strong>抽象的接口配置</strong>,与前面介绍的方法配置类似,这个类型是对服务接口的建模,主要的配置信息有暴漏服务的接口名字,服务接口的版本号,客户/提供方将引用的远程服务分组,<strong>服务元数据</strong>,服务接口的本地impl类名,服务监控配置,对于生成动态代理的策略,可以选择两种策略:jdk和javassist,容错类型等等配置</li>
+<li><strong>抽象的接口配置</strong>,与前面介绍的方法配置类似,这个类型是对服务接口的建模,主要的配置信息有暴露服务的接口名字,服务接口的版本号,客户/提供方将引用的远程服务分组,<strong>服务元数据</strong>,服务接口的本地impl类名,服务监控配置,对于生成动态代理的策略,可以选择两种策略:jdk和javassist,容错类型等等配置</li>
</ul>
</li>
<li>AbstractServiceConfig
--
<strong>抽象的服务配置</strong>,这个就与我们的服务提供者有了具体的关系了,主要记录了一些服务提供者的公共配置,如服务版本,服务分组,服务延迟注册毫秒数,是否暴漏服务,服务权重,是否为动态服务,服务协议类型,是否注册等等.</li>
+-
<strong>抽象的服务配置</strong>,这个就与我们的服务提供者有了具体的关系了,主要记录了一些服务提供者的公共配置,如服务版本,服务分组,服务延迟注册毫秒数,是否暴露服务,服务权重,是否为动态服务,服务协议类型,是否注册等等.</li>
<li>ServiceConfigBase
-
<strong>服务的基础配置类</strong>,这个类型仍旧是个抽象的类型提取了一些基础的配置:导出服务的接口类,服务名称,接口实现的引用类型,提供者配置,是否是通用服务GenericService</li>
<li>ServiceConfig
diff --git
"a/zh-cn/tags/\346\272\220\347\240\201\350\247\243\346\236\220/index.xml"
"b/zh-cn/tags/\346\272\220\347\240\201\350\247\243\346\236\220/index.xml"
index 9a808100a7e..db5129040b8 100644
--- "a/zh-cn/tags/\346\272\220\347\240\201\350\247\243\346\236\220/index.xml"
+++ "b/zh-cn/tags/\346\272\220\347\240\201\350\247\243\346\236\220/index.xml"
@@ -10049,11 +10049,11 @@ FrameworkModel 重置默认的应用模型对象 resetDefaultAppModel()方法
</li>
<li>AbstractInterfaceConfig
<ul>
-<li><strong>抽象的接口配置</strong>,与前面介绍的方法配置类似,这个类型是对服务接口的建模,主要的配置信息有暴漏服务的接口名字,服务接口的版本号,客户/提供方将引用的远程服务分组,<strong>服务元数据</strong>,服务接口的本地impl类名,服务监控配置,对于生成动态代理的策略,可以选择两种策略:jdk和javassist,容错类型等等配置</li>
+<li><strong>抽象的接口配置</strong>,与前面介绍的方法配置类似,这个类型是对服务接口的建模,主要的配置信息有暴露服务的接口名字,服务接口的版本号,客户/提供方将引用的远程服务分组,<strong>服务元数据</strong>,服务接口的本地impl类名,服务监控配置,对于生成动态代理的策略,可以选择两种策略:jdk和javassist,容错类型等等配置</li>
</ul>
</li>
<li>AbstractServiceConfig
--
<strong>抽象的服务配置</strong>,这个就与我们的服务提供者有了具体的关系了,主要记录了一些服务提供者的公共配置,如服务版本,服务分组,服务延迟注册毫秒数,是否暴漏服务,服务权重,是否为动态服务,服务协议类型,是否注册等等.</li>
+-
<strong>抽象的服务配置</strong>,这个就与我们的服务提供者有了具体的关系了,主要记录了一些服务提供者的公共配置,如服务版本,服务分组,服务延迟注册毫秒数,是否暴露服务,服务权重,是否为动态服务,服务协议类型,是否注册等等.</li>
<li>ServiceConfigBase
-
<strong>服务的基础配置类</strong>,这个类型仍旧是个抽象的类型提取了一些基础的配置:导出服务的接口类,服务名称,接口实现的引用类型,提供者配置,是否是通用服务GenericService</li>
<li>ServiceConfig