This is an automated email from the ASF dual-hosted git repository.
iluo pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new f311ee9 correct typo and rebuild
f311ee9 is described below
commit f311ee9639a3ff7566e4a14c14c99137f0259023
Author: beiwei.ly <[email protected]>
AuthorDate: Sun Dec 30 22:02:49 2018 +0800
correct typo and rebuild
---
build/home.js | 4 ++--
docs/en-us/user/rest.md | 2 +-
docs/zh-cn/user/references/protocol/rest.md | 2 +-
docs/zh-cn/user/rest.md | 2 +-
en-us/docs/developers/developers_dev.html | 6 ++++++
en-us/docs/developers/developers_dev.json | 2 +-
en-us/docs/user/quick-start.html | 2 +-
en-us/docs/user/rest.html | 2 +-
en-us/docs/user/rest.json | 2 +-
zh-cn/docs/admin/install/admin-console.html | 20 +-------------------
zh-cn/docs/admin/install/admin-console.json | 2 +-
zh-cn/docs/developers/developers_dev.html | 6 ++++++
zh-cn/docs/developers/developers_dev.json | 2 +-
zh-cn/docs/source_code_guide/export-service.html | 2 +-
zh-cn/docs/source_code_guide/export-service.json | 2 +-
zh-cn/docs/user/best-practice.html | 2 +-
zh-cn/docs/user/best-practice.json | 2 +-
zh-cn/docs/user/references/protocol/rest.html | 2 +-
zh-cn/docs/user/references/protocol/rest.json | 2 +-
zh-cn/docs/user/references/xml/dubbo-argument.html | 2 +-
zh-cn/docs/user/references/xml/dubbo-argument.json | 2 +-
zh-cn/docs/user/references/xml/dubbo-registry.html | 2 +-
zh-cn/docs/user/references/xml/dubbo-registry.json | 2 +-
zh-cn/docs/user/rest.html | 2 +-
zh-cn/docs/user/rest.json | 2 +-
zh-cn/index.html | 2 +-
26 files changed, 37 insertions(+), 43 deletions(-)
diff --git a/build/home.js b/build/home.js
index d580bc6..fc6d9c7 100644
--- a/build/home.js
+++ b/build/home.js
@@ -1,6 +1,6 @@
-!function(e){function t(r){if(n[r])return n[r].exports;var
o=n[r]={i:r,l:!1,exports:{}};return
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var
n={};t.m=e,t.c=n,t.i=function(e){return
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
n=e&&e.__esModule?function(){return e.default}:function(){return e};return
t.d(n,"a",n),n},t.o=function(e,t){return
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=82) [...]
+!function(e){function t(r){if(n[r])return n[r].exports;var
o=n[r]={i:r,l:!1,exports:{}};return
e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var
n={};t.m=e,t.c=n,t.i=function(e){return
e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var
n=e&&e.__esModule?function(){return e.default}:function(){return e};return
t.d(n,"a",n),n},t.o=function(e,t){return
Object.prototype.hasOwnProperty.call(e,t)},t.p="/build/",t(t.s=82) [...]
Copyright (c) 2017 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
-!function(){"use strict";function n(){for(var
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof
r;if("string"===o||"number"===o)e.push(r);else
if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else
if("object"===o)for(var u in r)a.call(r,u)&&r[u]&&e.push(u)}}return e.join("
")}var a={}.hasOwnProperty;void
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";funct [...]
\ No newline at end of file
+!function(){"use strict";function n(){for(var
e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof
r;if("string"===o||"number"===o)e.push(r);else
if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else
if("object"===o)for(var u in r)a.call(r,u)&&r[u]&&e.push(u)}}return e.join("
")}var a={}.hasOwnProperty;void
0!==e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return
n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";funct [...]
\ No newline at end of file
diff --git a/docs/en-us/user/rest.md b/docs/en-us/user/rest.md
index bbecfe9..802fbb3 100644
--- a/docs/en-us/user/rest.md
+++ b/docs/en-us/user/rest.md
@@ -725,7 +725,7 @@ In standard JAX-RS applications, we generally add @Provider
annotations to Filte
<dubbo:protocol name="rest" port="8888" extension="xxx.TraceInterceptor,
xxx.TraceFilter"/>
```
-Here, we can add these three types of objects, Filter, Interceptor and
DynamicFuture, to the `extension` attributes, separated by commas.
(DynamicFuture is another interface that allows us to enable Filter and
Interceptor more dynamically. Please feel free to google.)
+Here, we can add these three types of objects, Filter, Interceptor and
DynamicFeature, to the `extension` attributes, separated by commas.
(DynamicFeature is another interface that allows us to enable Filter and
Interceptor more dynamically. Please feel free to google.)
Of course, Dubbo itself also supports Filter, but the Filter and Interceptor
we discuss here are more like the bottom of the protocol implementation.
Compared to Dubbo's filter, you can do a lower level of customization here.
diff --git a/docs/zh-cn/user/references/protocol/rest.md
b/docs/zh-cn/user/references/protocol/rest.md
index d982031..ea6bb4b 100644
--- a/docs/zh-cn/user/references/protocol/rest.md
+++ b/docs/zh-cn/user/references/protocol/rest.md
@@ -583,7 +583,7 @@ public class GZIPWriterInterceptor implements
WriterInterceptor {
<dubbo:protocol name="rest" port="8888" extension="xxx.TraceInterceptor,
xxx.TraceFilter"/>
```
-在此,我们可以将Filter、Interceptor和DynamicFuture这三种类型的对象都添加到extension属性上,多个之间用逗号分隔。(DynamicFuture是另一个接口,可以方便我们更动态的启用Filter和Interceptor,感兴趣请自行google。)
+在此,我们可以将Filter、Interceptor和DynamicFeature这三种类型的对象都添加到extension属性上,多个之间用逗号分隔。(DynamicFeature是另一个接口,可以方便我们更动态的启用Filter和Interceptor,感兴趣请自行google。)
当然,dubbo自身也支持Filter的概念,但我们这里讨论的Filter和Interceptor更加接近协议实现的底层,相比dubbo的filter,可以做更底层的定制化。
diff --git a/docs/zh-cn/user/rest.md b/docs/zh-cn/user/rest.md
index 4f0e8b1..77c1d2a 100644
--- a/docs/zh-cn/user/rest.md
+++ b/docs/zh-cn/user/rest.md
@@ -717,7 +717,7 @@ public class GZIPWriterInterceptor implements
WriterInterceptor {
<dubbo:protocol name="rest" port="8888" extension="xxx.TraceInterceptor,
xxx.TraceFilter"/>
```
-在此,我们可以将Filter、Interceptor和DynamicFuture这三种类型的对象都添加到`extension`属性上,多个之间用逗号分隔。(DynamicFuture是另一个接口,可以方便我们更动态的启用Filter和Interceptor,感兴趣请自行google。)
+在此,我们可以将Filter、Interceptor和DynamicFeature这三种类型的对象都添加到`extension`属性上,多个之间用逗号分隔。(DynamicFeature是另一个接口,可以方便我们更动态的启用Filter和Interceptor,感兴趣请自行google。)
当然,dubbo自身也支持Filter的概念,但我们这里讨论的Filter和Interceptor更加接近协议实现的底层,相比dubbo的filter,可以做更底层的定制化。
diff --git a/en-us/docs/developers/developers_dev.html
b/en-us/docs/developers/developers_dev.html
index fd58127..131c8cd 100644
--- a/en-us/docs/developers/developers_dev.html
+++ b/en-us/docs/developers/developers_dev.html
@@ -239,6 +239,12 @@
<td>Asiainfo-sec</td>
<td>+8</td>
</tr>
+<tr>
+<td>huyuechy</td>
+<td><a href="https://github.com/huyuechy">https://github.com/huyuechy</a></td>
+<td></td>
+<td>+8</td>
+</tr>
</tbody>
</table>
</div></section><footer class="footer-container"><div class="footer-body"><img
src="/img/dubbo_gray.png"/><img class="apache" src="/img/apache_logo.png"/><div
class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache
Dubbo is an effort undergoing incubation at The Apache Software Foundation
(ASF), sponsored by the Incubator. Incubation is required of all newly accepted
projects until a further review indicates that the infrastructure,
communications, and decision making [...]
diff --git a/en-us/docs/developers/developers_dev.json
b/en-us/docs/developers/developers_dev.json
index be90398..272fda6 100644
--- a/en-us/docs/developers/developers_dev.json
+++ b/en-us/docs/developers/developers_dev.json
@@ -1,6 +1,6 @@
{
"filename": "developers_dev.md",
- "__html": "<h2>Developers</h2>\n<p>This page shows Dubbo developers. Please
file PR to add or change
items.</p>\n<h3>Committers</h3>\n<table>\n<thead>\n<tr>\n<th>Apache
ID</th>\n<th>Name</th>\n<th>Organization</th>\n<th>Role</th>\n<th>TimeZone</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>jmclean</td>\n<td>Justin
Mclean</td>\n<td>Apache</td>\n<td>Mentor</td>\n<td>+11</td>\n</tr>\n<tr>\n<td>markt</td>\n<td>Mark
Thomas</td>\n<td>Apache</td>\n<td>Mentor</td>\n<td>+0</td>\n</tr>\n<tr>\n<td>wav
[...]
+ "__html": "<h2>Developers</h2>\n<p>This page shows Dubbo developers. Please
file PR to add or change
items.</p>\n<h3>Committers</h3>\n<table>\n<thead>\n<tr>\n<th>Apache
ID</th>\n<th>Name</th>\n<th>Organization</th>\n<th>Role</th>\n<th>TimeZone</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>jmclean</td>\n<td>Justin
Mclean</td>\n<td>Apache</td>\n<td>Mentor</td>\n<td>+11</td>\n</tr>\n<tr>\n<td>markt</td>\n<td>Mark
Thomas</td>\n<td>Apache</td>\n<td>Mentor</td>\n<td>+0</td>\n</tr>\n<tr>\n<td>wav
[...]
"link": "/en-us/docs/developers/developers_dev.html",
"meta": {}
}
\ No newline at end of file
diff --git a/en-us/docs/user/quick-start.html b/en-us/docs/user/quick-start.html
index 586fbd7..40b7f29 100644
--- a/en-us/docs/user/quick-start.html
+++ b/en-us/docs/user/quick-start.html
@@ -35,7 +35,7 @@ cd dubbo-demo
}
</code></pre>
-<p>The project structure should look like this:</p>
+<p>The proejct structure should look like this:</p>
<pre><code>.
├── dubbo-demo-api
│ ├── pom.xml
diff --git a/en-us/docs/user/rest.html b/en-us/docs/user/rest.html
index c4cacd3..d7ddf71 100644
--- a/en-us/docs/user/rest.html
+++ b/en-us/docs/user/rest.html
@@ -553,7 +553,7 @@ However, dubbo/spring itself supports the use of annotation
for configuration, s
<p>In standard JAX-RS applications, we generally add @Provider annotations to
Filter and Interceptor, and JAX-RS runtime will automatically discover and
enable them. In Dubbo, we register Filter and Interceptor by adding an XML
configuration:</p>
<pre><code class="language-xml"><span class="hljs-tag"><<span
class="hljs-name">dubbo:protocol</span> <span
class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span
class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span> <span
class="hljs-attr">extension</span>=<span
class="hljs-string">"xxx.TraceInterceptor, xxx.TraceFilter"</span>/></span>
</code></pre>
-<p>Here, we can add these three types of objects, Filter, Interceptor and
DynamicFuture, to the <code>extension</code> attributes, separated by commas.
(DynamicFuture is another interface that allows us to enable Filter and
Interceptor more dynamically. Please feel free to google.)</p>
+<p>Here, we can add these three types of objects, Filter, Interceptor and
DynamicFeature, to the <code>extension</code> attributes, separated by commas.
(DynamicFeature is another interface that allows us to enable Filter and
Interceptor more dynamically. Please feel free to google.)</p>
<p>Of course, Dubbo itself also supports Filter, but the Filter and
Interceptor we discuss here are more like the bottom of the protocol
implementation. Compared to Dubbo's filter, you can do a lower level of
customization here.</p>
<blockquote>
<p>Note: The XML attribute here is called extension, not interceptor or
filter. That is because we will add more extension types in addition to
Interceptor and Filter in the future.</p>
diff --git a/en-us/docs/user/rest.json b/en-us/docs/user/rest.json
index b7dfd68..9b078c0 100644
--- a/en-us/docs/user/rest.json
+++ b/en-us/docs/user/rest.json
@@ -1,6 +1,6 @@
{
"filename": "rest.md",
- "__html": "<h1>Developing RESTful Remoting in
Dubbo</h1>\n<p><strong>Original author: Li
Shen</strong></p>\n<p><strong>Document copyright: <a
href=\"HTTP://www.apache.org/licenses/LICENSE-2.0\">Apache 2.0license Signature
- No interpretation</a></strong></p>\n<p>Working in progress
...</p>\n<blockquote>\n<p>This article is lengthy since REST involves many
aspects. Besides, it refers to the document style of Spring and so on. Not only
limited to usage of the framework but also strives t [...]
+ "__html": "<h1>Developing RESTful Remoting in
Dubbo</h1>\n<p><strong>Original author: Li
Shen</strong></p>\n<p><strong>Document copyright: <a
href=\"HTTP://www.apache.org/licenses/LICENSE-2.0\">Apache 2.0license Signature
- No interpretation</a></strong></p>\n<p>Working in progress
...</p>\n<blockquote>\n<p>This article is lengthy since REST involves many
aspects. Besides, it refers to the document style of Spring and so on. Not only
limited to usage of the framework but also strives t [...]
"link": "/en-us/docs/user/rest.html",
"meta": {}
}
\ No newline at end of file
diff --git a/zh-cn/docs/admin/install/admin-console.html
b/zh-cn/docs/admin/install/admin-console.html
index fdc5ab8..967413c 100644
--- a/zh-cn/docs/admin/install/admin-console.html
+++ b/zh-cn/docs/admin/install/admin-console.html
@@ -12,25 +12,7 @@
<link rel="stylesheet" href="/build/documentation.css" />
</head>
<body>
- <div id="root"><div class="documentation-page"
data-reactroot=""><header class="header-container header-container-normal"><div
class="header-body"><a href="/zh-cn/index.html"><img class="logo"
src="/img/dubbo_colorful.png"/></a><div class="search search-normal"><span
class="icon-search"></span></div><span class="language-switch
language-switch-normal">En</span><div class="header-menu"><img
class="header-menu-toggle" src="/img/menu_gray.png"/><ul><li class="menu-item
menu-item-normal"><a [...]
-<h3>管理控制台安装</h3>
-<p>=======
-###管理控制台安装</p>
-<blockquote>
-<blockquote>
-<blockquote>
-<blockquote>
-<blockquote>
-<blockquote>
-<blockquote>
-<p>a71d0fc87489096a2e99133c47769ffa750bafa6</p>
-</blockquote>
-</blockquote>
-</blockquote>
-</blockquote>
-</blockquote>
-</blockquote>
-</blockquote>
+ <div id="root"><div class="documentation-page"
data-reactroot=""><header class="header-container header-container-normal"><div
class="header-body"><a href="/zh-cn/index.html"><img class="logo"
src="/img/dubbo_colorful.png"/></a><div class="search search-normal"><span
class="icon-search"></span></div><span class="language-switch
language-switch-normal">En</span><div class="header-menu"><img
class="header-menu-toggle" src="/img/menu_gray.png"/><ul><li class="menu-item
menu-item-normal"><a [...]
<p>目前版本的管理控制台正在开发中,已经完成了服务查询和服务治理的功能,采用前后端分离的模式,具体的安装和使用步骤如下:</p>
<p>安装:</p>
<pre><code class="language-sh">git <span class="hljs-built_in">clone</span>
https://github.com/apache/incubator-dubbo-ops.git /var/tmp/dubbo-ops
diff --git a/zh-cn/docs/admin/install/admin-console.json
b/zh-cn/docs/admin/install/admin-console.json
index f1351ac..a4246cb 100644
--- a/zh-cn/docs/admin/install/admin-console.json
+++ b/zh-cn/docs/admin/install/admin-console.json
@@ -1,6 +1,6 @@
{
"filename": "admin-console.md",
- "__html": "<p><<<<<<<
HEAD</p>\n<h3>管理控制台安装</h3>\n<p>=======\n###管理控制台安装</p>\n<blockquote>\n<blockquote>\n<blockquote>\n<blockquote>\n<blockquote>\n<blockquote>\n<blockquote>\n<p>a71d0fc87489096a2e99133c47769ffa750bafa6</p>\n</blockquote>\n</blockquote>\n</blockquote>\n</blockquote>\n</blockquote>\n</blockquote>\n</blockquote>\n<p>目前版本的管理控制台正在开发中,已经完成了服务查询和服务治理的功能,采用前后端分离的模式,具体的安装和使用步骤如下:</p>\n<p>安装:</p>\n<pre><code
class=\"language-sh\">git <span class=\"hljs-buil [...]
+ "__html":
"<h3>管理控制台安装</h3>\n<p>目前版本的管理控制台正在开发中,已经完成了服务查询和服务治理的功能,采用前后端分离的模式,具体的安装和使用步骤如下:</p>\n<p>安装:</p>\n<pre><code
class=\"language-sh\">git <span class=\"hljs-built_in\">clone</span>
https://github.com/apache/incubator-dubbo-ops.git /var/tmp/dubbo-ops\n<span
class=\"hljs-built_in\">cd</span> /var/tmp/dubbo-ops\nmvn clean
package\n</code></pre>\n<p>配置 <sup class=\"footnote-ref\"><a href=\"#fn1\"
id=\"fnref1\">[1]</a></sup>:</p>\n<pre><code
class=\"language-sh\">配置文件为:\ndubbo-admin- [...]
"link": "/zh-cn/docs/admin/install/admin-console.html",
"meta": {}
}
\ No newline at end of file
diff --git a/zh-cn/docs/developers/developers_dev.html
b/zh-cn/docs/developers/developers_dev.html
index 797fbed..d37d69c 100644
--- a/zh-cn/docs/developers/developers_dev.html
+++ b/zh-cn/docs/developers/developers_dev.html
@@ -239,6 +239,12 @@
<td>Asiainfo-sec</td>
<td>+8</td>
</tr>
+<tr>
+<td>huyuechy</td>
+<td><a href="https://github.com/huyuechy">https://github.com/huyuechy</a></td>
+<td></td>
+<td>+8</td>
+</tr>
</tbody>
</table>
</div></section><footer class="footer-container"><div class="footer-body"><img
src="/img/dubbo_gray.png"/><img class="apache" src="/img/apache_logo.png"/><div
class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache
Dubbo is an effort undergoing incubation at The Apache Software Foundation
(ASF), sponsored by the Incubator. Incubation is required of all newly accepted
projects until a further review indicates that the infrastructure,
communications, and decision making [...]
diff --git a/zh-cn/docs/developers/developers_dev.json
b/zh-cn/docs/developers/developers_dev.json
index ad635cd..eab2516 100644
--- a/zh-cn/docs/developers/developers_dev.json
+++ b/zh-cn/docs/developers/developers_dev.json
@@ -1,6 +1,6 @@
{
"filename": "developers_dev.md",
- "__html":
"<h2>开发人员</h2>\n<p>本页面展示了Dubbo的开发团队。请通过提交PR的方式把自己的信息添加到列表上。注:排名不分先后</p>\n<h3>提交者</h3>\n<table>\n<thead>\n<tr>\n<th>Apache
ID</th>\n<th>姓名</th>\n<th>组织</th>\n<th>角色</th>\n<th>时区</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>jmclean</td>\n<td>Justin
Mclean</td>\n<td>Apache</td>\n<td>Mentor</td>\n<td>+11</td>\n</tr>\n<tr>\n<td>markt</td>\n<td>Mark
Thomas</td>\n<td>Apache</td>\n<td>Mentor</td>\n<td>+0</td>\n</tr>\n<tr>\n<td>wave</td>\n<td>Dave
Fisher</td>\n<td></td>\n<td>Mentor</td>\ [...]
+ "__html":
"<h2>开发人员</h2>\n<p>本页面展示了Dubbo的开发团队。请通过提交PR的方式把自己的信息添加到列表上。注:排名不分先后</p>\n<h3>提交者</h3>\n<table>\n<thead>\n<tr>\n<th>Apache
ID</th>\n<th>姓名</th>\n<th>组织</th>\n<th>角色</th>\n<th>时区</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>jmclean</td>\n<td>Justin
Mclean</td>\n<td>Apache</td>\n<td>Mentor</td>\n<td>+11</td>\n</tr>\n<tr>\n<td>markt</td>\n<td>Mark
Thomas</td>\n<td>Apache</td>\n<td>Mentor</td>\n<td>+0</td>\n</tr>\n<tr>\n<td>wave</td>\n<td>Dave
Fisher</td>\n<td></td>\n<td>Mentor</td>\ [...]
"link": "/zh-cn/docs/developers/developers_dev.html",
"meta": {}
}
\ No newline at end of file
diff --git a/zh-cn/docs/source_code_guide/export-service.html
b/zh-cn/docs/source_code_guide/export-service.html
index 0c110c8..57f067d 100644
--- a/zh-cn/docs/source_code_guide/export-service.html
+++ b/zh-cn/docs/source_code_guide/export-service.html
@@ -573,7 +573,7 @@
</code></pre>
<p>getWrapper 方法仅包含一些缓存操作逻辑,不难理解。下面我们看一下 makeWrapper 方法。</p>
<pre><code class="language-java"><span class="hljs-function"><span
class="hljs-keyword">private</span> <span class="hljs-keyword">static</span>
Wrapper <span class="hljs-title">makeWrapper</span><span
class="hljs-params">(Class<?> c)</span> </span>{
- <span class="hljs-comment">// 检测 c 是否为私有类型,若是则抛出异常</span>
+ <span class="hljs-comment">// 检测 c 是否为基本类型,若是则抛出异常</span>
<span class="hljs-keyword">if</span> (c.isPrimitive())
<span class="hljs-keyword">throw</span> <span
class="hljs-keyword">new</span> IllegalArgumentException(<span
class="hljs-string">"Can not create wrapper for primitive type: "</span> + c);
diff --git a/zh-cn/docs/source_code_guide/export-service.json
b/zh-cn/docs/source_code_guide/export-service.json
index 7161ef7..1e21037 100644
--- a/zh-cn/docs/source_code_guide/export-service.json
+++ b/zh-cn/docs/source_code_guide/export-service.json
@@ -1,6 +1,6 @@
{
"filename": "export-service.md",
- "__html": "<h2>1.简介</h2>\n<p>本篇文章,我们来研究一下 Dubbo 导出服务的过程。Dubbo 服务导出过程始于
Spring 容器发布刷新事件,Dubbo 在接收到事件后,会立即执行服务导出逻辑。整个逻辑大致可分为三个部分,第一部分是前置工作,主要用于检查参数,组装
URL。第二部分是导出服务,包含导出服务到本地
(JVM),和导出服务到远程两个过程。第三部分是向注册中心注册服务,用于服务发现。本篇文章将会对这三个部分代码进行详细的分析。</p>\n<h2>2.源码分析</h2>\n<p>服务导出的入口方法是
ServiceBean 的 onApplicationEvent。onApplicationEvent 是一个事件响应方法,该方法会在收到 Spring
上下文刷新事件后执行服务导出操作。方法代码如下:</p>\n<pre><code class=\"language-java\"><span
class=\"hljs-function\"><span class=\"hljs-keyword\">public</span> <s [...]
+ "__html": "<h2>1.简介</h2>\n<p>本篇文章,我们来研究一下 Dubbo 导出服务的过程。Dubbo 服务导出过程始于
Spring 容器发布刷新事件,Dubbo 在接收到事件后,会立即执行服务导出逻辑。整个逻辑大致可分为三个部分,第一部分是前置工作,主要用于检查参数,组装
URL。第二部分是导出服务,包含导出服务到本地
(JVM),和导出服务到远程两个过程。第三部分是向注册中心注册服务,用于服务发现。本篇文章将会对这三个部分代码进行详细的分析。</p>\n<h2>2.源码分析</h2>\n<p>服务导出的入口方法是
ServiceBean 的 onApplicationEvent。onApplicationEvent 是一个事件响应方法,该方法会在收到 Spring
上下文刷新事件后执行服务导出操作。方法代码如下:</p>\n<pre><code class=\"language-java\"><span
class=\"hljs-function\"><span class=\"hljs-keyword\">public</span> <s [...]
"link": "/zh-cn/docs/source_code_guide/export-service.html",
"meta": {
"title": "服务导出",
diff --git a/zh-cn/docs/user/best-practice.html
b/zh-cn/docs/user/best-practice.html
index 8f9ee68..38e7d50 100644
--- a/zh-cn/docs/user/best-practice.html
+++ b/zh-cn/docs/user/best-practice.html
@@ -35,7 +35,7 @@
<h2>序列化</h2>
<p>服务参数及返回值建议使用 POJO 对象,即通过 <code>setter</code>, <code>getter</code>
方法表示属性的对象。</p>
<p>服务参数及返回值不建议使用接口,因为数据模型抽象的意义不大,并且序列化需要接口实现类的元信息,并不能起到隐藏实现的意图。</p>
-<p>服务参数及返回值都必需是<a
href="https://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_value">传值调用</a>,而不能是<a
href="https://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_reference">传引用调用</a>,消费方和提供方的参数或返回值引用并不是同一个,只是值相同,Dubbo
不支持引用远程对象。</p>
+<p>服务参数及返回值都必须是<a
href="https://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_value">传值调用</a>,而不能是<a
href="https://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_reference">传引用调用</a>,消费方和提供方的参数或返回值引用并不是同一个,只是值相同,Dubbo
不支持引用远程对象。</p>
<h2>异常</h2>
<p>建议使用异常汇报错误,而不是返回错误码,异常信息能携带更多信息,并且语义更友好。</p>
<p>如果担心性能问题,在必要时,可以通过 override 掉异常类的 <code>fillInStackTrace()</code>
方法为空方法,使其不拷贝栈信息。</p>
diff --git a/zh-cn/docs/user/best-practice.json
b/zh-cn/docs/user/best-practice.json
index 5a22ff7..8b8f98e 100644
--- a/zh-cn/docs/user/best-practice.json
+++ b/zh-cn/docs/user/best-practice.json
@@ -1,6 +1,6 @@
{
"filename": "best-practice.md",
- "__html": "<h1>服务化最佳实践</h1>\n<h2>分包</h2>\n<p>建议将服务接口、服务模型、服务异常等均放在 API
包中,因为服务模型和异常也是 API
的一部分,这样做也符合分包原则:重用发布等价原则(REP),共同重用原则(CRP)。</p>\n<p>如果需要,也可以考虑在 API 包中放置一份
Spring 的引用配置,这样使用方只需在 Spring
加载过程中引用此配置即可。配置建议放在模块的包目录下,以免冲突,如:<code>com/alibaba/china/xxx/dubbo-reference.xml</code>。</p>\n<h2>粒度</h2>\n<p>服务接口尽可能大粒度,每个服务方法应代表一个功能,而不是某功能的一个步骤,否则将面临分布式事务问题,Dubbo
暂未提供分布式事务支持。</p>\n<p>服务接口建议以业务场景为单位划分,并对相近业务做抽象,防止接口数量爆炸。</p>\n<p>不建议使用过于抽象的通用接口,如:<code>Map
query(Map)</code>,这�
��的接口没有明确语义,会给后期维护带 [...]
+ "__html": "<h1>服务化最佳实践</h1>\n<h2>分包</h2>\n<p>建议将服务接口、服务模型、服务异常等均放在 API
包中,因为服务模型和异常也是 API
的一部分,这样做也符合分包原则:重用发布等价原则(REP),共同重用原则(CRP)。</p>\n<p>如果需要,也可以考虑在 API 包中放置一份
Spring 的引用配置,这样使用方只需在 Spring
加载过程中引用此配置即可。配置建议放在模块的包目录下,以免冲突,如:<code>com/alibaba/china/xxx/dubbo-reference.xml</code>。</p>\n<h2>粒度</h2>\n<p>服务接口尽可能大粒度,每个服务方法应代表一个功能,而不是某功能的一个步骤,否则将面临分布式事务问题,Dubbo
暂未提供分布式事务支持。</p>\n<p>服务接口建议以业务场景为单位划分,并对相近业务做抽象,防止接口数量爆炸。</p>\n<p>不建议使用过于抽象的通用接口,如:<code>Map
query(Map)</code>,这�
��的接口没有明确语义,会给后期维护带 [...]
"link": "/zh-cn/docs/user/best-practice.html",
"meta": {
"title": "服务化最佳实践",
diff --git a/zh-cn/docs/user/references/protocol/rest.html
b/zh-cn/docs/user/references/protocol/rest.html
index 1858f9d..96a9ad9 100644
--- a/zh-cn/docs/user/references/protocol/rest.html
+++ b/zh-cn/docs/user/references/protocol/rest.html
@@ -403,7 +403,7 @@ http://localhost:8080/users/1003
<p>在标准JAX-RS应用中,我们一般是为Filter和Interceptor添加@Provider annotation,然后JAX-RS
runtime会自动发现并启用它们。而在dubbo中,我们是通过添加XML配置的方式来注册Filter和Interceptor:</p>
<pre><code class="language-xml"><span class="hljs-tag"><<span
class="hljs-name">dubbo:protocol</span> <span
class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span
class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span> <span
class="hljs-attr">extension</span>=<span
class="hljs-string">"xxx.TraceInterceptor, xxx.TraceFilter"</span>/></span>
</code></pre>
-<p>在此,我们可以将Filter、Interceptor和DynamicFuture这三种类型的对象都添加到extension属性上,多个之间用逗号分隔。(DynamicFuture是另一个接口,可以方便我们更动态的启用Filter和Interceptor,感兴趣请自行google。)</p>
+<p>在此,我们可以将Filter、Interceptor和DynamicFeature这三种类型的对象都添加到extension属性上,多个之间用逗号分隔。(DynamicFeature是另一个接口,可以方便我们更动态的启用Filter和Interceptor,感兴趣请自行google。)</p>
<p>当然,dubbo自身也支持Filter的概念,但我们这里讨论的Filter和Interceptor更加接近协议实现的底层,相比dubbo的filter,可以做更底层的定制化。</p>
<blockquote>
<p>注:这里的XML属性叫extension,而不是叫interceptor或者filter,是因为除了Interceptor和Filter,未来我们还会添加更多的扩展类型。</p>
diff --git a/zh-cn/docs/user/references/protocol/rest.json
b/zh-cn/docs/user/references/protocol/rest.json
index 474b33f..ada9fb2 100644
--- a/zh-cn/docs/user/references/protocol/rest.json
+++ b/zh-cn/docs/user/references/protocol/rest.json
@@ -1,6 +1,6 @@
{
"filename": "rest.md",
- "__html": "<h1>rest://</h1>\n<p>基于标准的Java REST API——JAX-RS 2.0(Java API for
RESTful Web
Services的简写)实现的REST调用支持</p>\n<h2>快速入门</h2>\n<p>在dubbo中开发一个REST风格的服务会比较简单,下面以一个注册用户的简单服务为例说明。</p>\n<p>这个服务要实现的功能是提供如下URL(注:这个URL不是完全符合REST的风格,但是更简单实用):</p>\n<pre><code>http://localhost:8080/users/register\n</code></pre>\n<p>而任何客户端都可以将包含用户信息的JSON字符串POST到以上URL来完成用户注册。</p>\n<p>首先,开发服务的接口:</p>\n<pre><code
class=\"language-java\"><span class=\"hljs-keyword\">public</span> <span
class=\"hljs-class\"><span [...]
+ "__html": "<h1>rest://</h1>\n<p>基于标准的Java REST API——JAX-RS 2.0(Java API for
RESTful Web
Services的简写)实现的REST调用支持</p>\n<h2>快速入门</h2>\n<p>在dubbo中开发一个REST风格的服务会比较简单,下面以一个注册用户的简单服务为例说明。</p>\n<p>这个服务要实现的功能是提供如下URL(注:这个URL不是完全符合REST的风格,但是更简单实用):</p>\n<pre><code>http://localhost:8080/users/register\n</code></pre>\n<p>而任何客户端都可以将包含用户信息的JSON字符串POST到以上URL来完成用户注册。</p>\n<p>首先,开发服务的接口:</p>\n<pre><code
class=\"language-java\"><span class=\"hljs-keyword\">public</span> <span
class=\"hljs-class\"><span [...]
"link": "/zh-cn/docs/user/references/protocol/rest.html",
"meta": {}
}
\ No newline at end of file
diff --git a/zh-cn/docs/user/references/xml/dubbo-argument.html
b/zh-cn/docs/user/references/xml/dubbo-argument.html
index 42a3e93..0c70365 100644
--- a/zh-cn/docs/user/references/xml/dubbo-argument.html
+++ b/zh-cn/docs/user/references/xml/dubbo-argument.html
@@ -82,7 +82,7 @@ table tr:hover {
<td><b>必填</b></td>
<td></td>
<td>标识</td>
-<td>方法名</td>
+<td>参数索引</td>
<td>2.0.6以上版本</td>
</tr>
<tr>
diff --git a/zh-cn/docs/user/references/xml/dubbo-argument.json
b/zh-cn/docs/user/references/xml/dubbo-argument.json
index 616571c..80e28b0 100644
--- a/zh-cn/docs/user/references/xml/dubbo-argument.json
+++ b/zh-cn/docs/user/references/xml/dubbo-argument.json
@@ -1,6 +1,6 @@
{
"filename": "dubbo-argument.md",
- "__html": "<style>\ntable {\n width: 100%;\n max-width: 65em;\n border:
1px solid #dedede;\n margin: 15px auto;\n border-collapse: collapse;\n
empty-cells: show;\n}\ntable th,\ntable td {\n height: 35px;\n border: 1px
solid #dedede;\n padding: 0 10px;\n}\ntable th {\n font-weight: bold;\n
text-align: center !important;\n background: rgba(158,188,226,0.2);\n
white-space: nowrap;\n}\ntable tbody tr:nth-child(2n) {\n background:
rgba(158,188,226,0.12);\n}\ntable td:nth-child [...]
+ "__html": "<style>\ntable {\n width: 100%;\n max-width: 65em;\n border:
1px solid #dedede;\n margin: 15px auto;\n border-collapse: collapse;\n
empty-cells: show;\n}\ntable th,\ntable td {\n height: 35px;\n border: 1px
solid #dedede;\n padding: 0 10px;\n}\ntable th {\n font-weight: bold;\n
text-align: center !important;\n background: rgba(158,188,226,0.2);\n
white-space: nowrap;\n}\ntable tbody tr:nth-child(2n) {\n background:
rgba(158,188,226,0.12);\n}\ntable td:nth-child [...]
"link": "/zh-cn/docs/user/references/xml/dubbo-argument.html",
"meta": {}
}
\ No newline at end of file
diff --git a/zh-cn/docs/user/references/xml/dubbo-registry.html
b/zh-cn/docs/user/references/xml/dubbo-registry.html
index 1f986f7..bddf11f 100644
--- a/zh-cn/docs/user/references/xml/dubbo-registry.html
+++ b/zh-cn/docs/user/references/xml/dubbo-registry.html
@@ -98,7 +98,7 @@ table tr:hover {
<td>可选</td>
<td>dubbo</td>
<td>服务发现</td>
-<td>注同中心地址协议,支持dubbo, http, local三种协议,分别表示,dubbo地址,http地址,本地注册中心</td>
+<td>注册中心地址协议,支持dubbo, http, local三种协议,分别表示:dubbo地址、http地址、本地注册中心</td>
<td>2.0.0以上版本</td>
</tr>
<tr>
diff --git a/zh-cn/docs/user/references/xml/dubbo-registry.json
b/zh-cn/docs/user/references/xml/dubbo-registry.json
index b2dee0c..5ec00fb 100644
--- a/zh-cn/docs/user/references/xml/dubbo-registry.json
+++ b/zh-cn/docs/user/references/xml/dubbo-registry.json
@@ -1,6 +1,6 @@
{
"filename": "dubbo-registry.md",
- "__html": "<style>\ntable {\n width: 100%;\n max-width: 65em;\n border:
1px solid #dedede;\n margin: 15px auto;\n border-collapse: collapse;\n
empty-cells: show;\n}\ntable th,\ntable td {\n height: 35px;\n border: 1px
solid #dedede;\n padding: 0 10px;\n}\ntable th {\n font-weight: bold;\n
text-align: center !important;\n background: rgba(158,188,226,0.2);\n
white-space: nowrap;\n}\ntable tbody tr:nth-child(2n) {\n background:
rgba(158,188,226,0.12);\n}\ntable td:nth-child [...]
+ "__html": "<style>\ntable {\n width: 100%;\n max-width: 65em;\n border:
1px solid #dedede;\n margin: 15px auto;\n border-collapse: collapse;\n
empty-cells: show;\n}\ntable th,\ntable td {\n height: 35px;\n border: 1px
solid #dedede;\n padding: 0 10px;\n}\ntable th {\n font-weight: bold;\n
text-align: center !important;\n background: rgba(158,188,226,0.2);\n
white-space: nowrap;\n}\ntable tbody tr:nth-child(2n) {\n background:
rgba(158,188,226,0.12);\n}\ntable td:nth-child [...]
"link": "/zh-cn/docs/user/references/xml/dubbo-registry.html",
"meta": {}
}
\ No newline at end of file
diff --git a/zh-cn/docs/user/rest.html b/zh-cn/docs/user/rest.html
index a50d11b..35c8ab9 100644
--- a/zh-cn/docs/user/rest.html
+++ b/zh-cn/docs/user/rest.html
@@ -542,7 +542,7 @@ http://localhost:8080/users/1003
<p>在标准JAX-RS应用中,我们一般是为Filter和Interceptor添加@Provider annotation,然后JAX-RS
runtime会自动发现并启用它们。而在dubbo中,我们是通过添加XML配置的方式来注册Filter和Interceptor:</p>
<pre><code class="language-xml"><span class="hljs-tag"><<span
class="hljs-name">dubbo:protocol</span> <span
class="hljs-attr">name</span>=<span class="hljs-string">"rest"</span> <span
class="hljs-attr">port</span>=<span class="hljs-string">"8888"</span> <span
class="hljs-attr">extension</span>=<span
class="hljs-string">"xxx.TraceInterceptor, xxx.TraceFilter"</span>/></span>
</code></pre>
-<p>在此,我们可以将Filter、Interceptor和DynamicFuture这三种类型的对象都添加到<code>extension</code>属性上,多个之间用逗号分隔。(DynamicFuture是另一个接口,可以方便我们更动态的启用Filter和Interceptor,感兴趣请自行google。)</p>
+<p>在此,我们可以将Filter、Interceptor和DynamicFeature这三种类型的对象都添加到<code>extension</code>属性上,多个之间用逗号分隔。(DynamicFeature是另一个接口,可以方便我们更动态的启用Filter和Interceptor,感兴趣请自行google。)</p>
<p>当然,dubbo自身也支持Filter的概念,但我们这里讨论的Filter和Interceptor更加接近协议实现的底层,相比dubbo的filter,可以做更底层的定制化。</p>
<blockquote>
<p>注:这里的XML属性叫extension,而不是叫interceptor或者filter,是因为除了Interceptor和Filter,未来我们还会添加更多的扩展类型。</p>
diff --git a/zh-cn/docs/user/rest.json b/zh-cn/docs/user/rest.json
index 4b68e67..5a435f2 100644
--- a/zh-cn/docs/user/rest.json
+++ b/zh-cn/docs/user/rest.json
@@ -1,6 +1,6 @@
{
"filename": "rest.md",
- "__html": "<h1>在 Dubbo 中开发 REST 风格的远程调用(RESTful
Remoting)</h1>\n<p><strong>作者:沈理</strong></p>\n<p><strong>文档版权:<a
href=\"http://www.apache.org/licenses/LICENSE-2.0\">Apache 2.0许可证
署名-禁止演绎</a></strong></p>\n<p>完善中……</p>\n<blockquote>\n<p>本文篇幅较长,因为REST本身涉及面较多。另外,本文参照Spring等的文档风格,不仅仅局限于框架用法的阐述,同时也努力呈现框架的设计理念和优良应用的架构思想。</p>\n</blockquote>\n<blockquote>\n<p>对于想粗略了解dubbo和REST的人,只需浏览
<code>概述</code> 至 <code>标准Java REST API:JAX-RS简介</code>
几节即可。</p>\n</blockquote>\n<p>TODO 生成可点击的目录</p>\n<h2>目录 [...]
+ "__html": "<h1>在 Dubbo 中开发 REST 风格的远程调用(RESTful
Remoting)</h1>\n<p><strong>作者:沈理</strong></p>\n<p><strong>文档版权:<a
href=\"http://www.apache.org/licenses/LICENSE-2.0\">Apache 2.0许可证
署名-禁止演绎</a></strong></p>\n<p>完善中……</p>\n<blockquote>\n<p>本文篇幅较长,因为REST本身涉及面较多。另外,本文参照Spring等的文档风格,不仅仅局限于框架用法的阐述,同时也努力呈现框架的设计理念和优良应用的架构思想。</p>\n</blockquote>\n<blockquote>\n<p>对于想粗略了解dubbo和REST的人,只需浏览
<code>概述</code> 至 <code>标准Java REST API:JAX-RS简介</code>
几节即可。</p>\n</blockquote>\n<p>TODO 生成可点击的目录</p>\n<h2>目录 [...]
"link": "/zh-cn/docs/user/rest.html",
"meta": {
"title": "在 Dubbo 中开发 REST 风格的远程调用(RESTful Remoting)",
diff --git a/zh-cn/index.html b/zh-cn/index.html
index dcefbd7..9e31a13 100644
--- a/zh-cn/index.html
+++ b/zh-cn/index.html
@@ -12,7 +12,7 @@
<link rel="stylesheet" href="/build/home.css" />
</head>
<body>
- <div id="root"><div class="home-page" data-reactroot=""><section
class="top-section"><header class="header-container
header-container-primary"><div class="header-body"><a
href="/zh-cn/index.html"><img class="logo" src="/img/dubbo_white.png"/></a><div
class="search search-primary"><span class="icon-search"></span></div><span
class="language-switch language-switch-primary">En</span><div
class="header-menu"><img class="header-menu-toggle"
src="/img/menu_white.png"/><ul><li class="menu-item [...]
+ <div id="root"><div class="home-page" data-reactroot=""><section
class="top-section"><header class="header-container
header-container-primary"><div class="header-body"><a
href="/zh-cn/index.html"><img class="logo" src="/img/dubbo_white.png"/></a><div
class="search search-primary"><span class="icon-search"></span></div><span
class="language-switch language-switch-primary">En</span><div
class="header-menu"><img class="header-menu-toggle"
src="/img/menu_white.png"/><ul><li class="menu-item [...]
<script
src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
<script
src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
<script>