This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site-v2
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git


The following commit(s) were added to refs/heads/asf-site-v2 by this push:
     new 297fe062008 deploy: 1ca03ab5db9d48824802789eb74d943039f6932f
297fe062008 is described below

commit 297fe062008a29cd81cbf01e2356ac178a6b3a22
Author: AlbumenJ <[email protected]>
AuthorDate: Fri May 31 08:05:07 2024 +0000

    deploy: 1ca03ab5db9d48824802789eb74d943039f6932f
---
 sitemap.xml                                        |  2 +-
 .../service/attachment/index.html                  | 28 ++++++++++++++++++--
 .../advanced-features-and-usage/service/index.xml  | 27 +++++++++++++++++++
 zh-cn/overview/tasks/develop/context/index.html    | 30 +++++++++++++++++++---
 zh-cn/overview/tasks/develop/index.xml             | 30 +++++++++++++++++++++-
 zh-cn/sitemap.xml                                  |  2 +-
 6 files changed, 111 insertions(+), 8 deletions(-)

diff --git a/sitemap.xml b/sitemap.xml
index cd5f005a4b1..1587bf0729f 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://dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2024-05-30T16:01:34+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2024-05-28T10:14:17+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://dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2024-05-31T16:00:25+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2024-05-28T10:14:17+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git 
a/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/attachment/index.html
 
b/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/attachment/index.html
index acc46fd30b8..2c61918f808 100644
--- 
a/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/attachment/index.html
+++ 
b/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/attachment/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://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/attachment/><meta
 charset=utf-8><meta name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
http-equiv=Content-Security-Policy content="frame-src *"><meta name=generator 
content="Hugo 0.122.0"><link rel="shortcut icon" type=image/png 
href=/imgs/favicon.p [...]
-<meta property="og:description" content="通过 Dubbo 中的 Attachment 
在服务消费方和提供方之间隐式传递参数"><meta property="og:type" content="article"><meta 
property="og:url" 
content="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/attachment/";><meta
 property="article:section" content="overview"><meta 
property="article:modified_time" content="2023-05-21T10:26:13+08:00"><meta 
itemprop=name content="调用链路传递隐式参数"><meta itemprop=description content="通过 Dubbo 
中的 Attachment [...]
+<meta property="og:description" content="通过 Dubbo 中的 Attachment 
在服务消费方和提供方之间隐式传递参数"><meta property="og:type" content="article"><meta 
property="og:url" 
content="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/attachment/";><meta
 property="article:section" content="overview"><meta 
property="article:modified_time" content="2024-05-31T16:00:25+08:00"><meta 
itemprop=name content="调用链路传递隐式参数"><meta itemprop=description content="通过 Dubbo 
中的 Attachment [...]
 <label for=m-zh-cnoverviewhome-check><a href=/zh-cn/overview/home/ 
title="Dubbo 文档" class="align-left pl-0 td-sidebar-link 
td-sidebar-link__section" 
id=m-zh-cnoverviewhome><span>主页</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" 
id=m-zh-cnoverviewquickstart-li><input type=checkbox 
id=m-zh-cnoverviewquickstart-check>
 <label for=m-zh-cnoverviewquickstart-check><a href=/zh-cn/overview/quickstart/ 
title="Dubbo 入门" class="align-left pl-0 td-sidebar-link 
td-sidebar-link__section" 
id=m-zh-cnoverviewquickstart><span>入门</span></a></label><ul class="ul-2 
foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section 
with-child" id=m-zh-cnoverviewquickstartjava-li><input type=checkbox 
id=m-zh-cnoverviewquickstartjava-check>
 <label for=m-zh-cnoverviewquickstartjava-check><a 
href=/zh-cn/overview/quickstart/java/ title="Java 微服务开发入门" class="align-left 
pl-0 td-sidebar-link td-sidebar-link__section" 
id=m-zh-cnoverviewquickstartjava><span>Java</span></a></label><ul class="ul-3 
foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section 
without-child" id=m-zh-cnoverviewquickstartjavabrief-li><input type=checkbox 
id=m-zh-cnoverviewquickstartjavabrief-check>
@@ -717,8 +717,32 @@ Dubbo 3 对 RpcContext 进行了重构,支持可选参数透传,默认开启
 </span></span><span style=display:flex><span>    Map<span 
style=color:#719e07>&lt;</span>String, Object<span 
style=color:#719e07>&gt;</span> <span style=color:#268bd2>select</span>();
 </span></span><span style=display:flex><span>
 </span></span><span style=display:flex><span>}
+</span></span></code></pre></div><h1 
id=历史遗留问题>历史遗留问题</h1><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><span 
style=color:#268bd2>@Activate</span>(group <span style=color:#719e07>=</span> 
{CommonConstants.CONSUMER})
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>public</span> <span style=color:#268bd2>class</span> <span 
style=color:#268bd2>DubboConsumerFilter</span> <span 
style=color:#268bd2>implements</span> Filter {
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>@Override</span>
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>public</span> Result <span 
style=color:#268bd2>invoke</span>(Invoker<span 
style=color:#719e07>&lt;?&gt;</span> invoker, Invocation invocation) <span 
style=color:#268bd2>throws</span> RpcException {
+</span></span><span style=display:flex><span>        
+</span></span><span style=display:flex><span>        
RpcContext.getContext().setAttachment(<span 
style=color:#2aa198>&#34;demo&#34;</span>,<span 
style=color:#2aa198>&#34;demo02&#34;</span>);
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>        <span 
style=color:#719e07>return</span> invoker.invoke(invocation);
+</span></span><span style=display:flex><span>    }
+</span></span><span style=display:flex><span>}
+</span></span></code></pre></div><p>但是在新版本中我们的建议是 <strong>在 Filter 里面的尽可能不要操作 
RpcContext</strong>,上面的使用方式会导致不生效。原因在于新版本中,我们在<code>ConsumerContextFilter</code>类中做了<code>ClientAttachment</code>
 -> 
<code>Invocation</code>属性的复制,该类是Dubbo内置Filter类,而内置Filter类先于用户定义Filter类执行,所以在自定义Filter类中这样使用不会生效。
+可以直接使用这种方式进行传递:</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><span 
style=color:#268bd2>@Activate</span>(group <span style=color:#719e07>=</span> 
{CommonConstants.CONSUMER})
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>public</span> <span style=color:#268bd2>class</span> <span 
style=color:#268bd2>DubboConsumerFilter</span> <span 
style=color:#268bd2>implements</span> Filter {
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>@Override</span>
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>public</span> Result <span 
style=color:#268bd2>invoke</span>(Invoker<span 
style=color:#719e07>&lt;?&gt;</span> invoker, Invocation invocation) <span 
style=color:#268bd2>throws</span> RpcException {
+</span></span><span style=display:flex><span>        
+</span></span><span style=display:flex><span>        
invocation.setAttachment(<span style=color:#2aa198>&#34;demo&#34;</span>,<span 
style=color:#2aa198>&#34;demo02&#34;</span>);
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>        <span 
style=color:#719e07>return</span> invoker.invoke(invocation);
+</span></span><span style=display:flex><span>    }
+</span></span><span style=display:flex><span>}
 </span></span></code></pre></div><div id=pre-footer><h2>反馈</h2><p 
class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 
feedback--yes">是</button>
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/attachment.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-star
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=%e8%b0%83%e7%94%a8%e9%93%be%e8%b7%af%e4%bc%a0%e9%80%92%e9%9a%90%e5%bc%8f%e5%8f%82%e6%95%b0";
 target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
 <a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div><nav id=TableOfContents><ul><li><a 
href=#特性说明>特性说明</a><ul><li></li></ul></li><li><a href=#使用场景>使用场景</a></li><li><a 
href=#使用方式>使用方式</a><ul><li><a href=#在服务消费方端设置隐式参数>在服务消费方端设置隐式参数</a></li><li><a 
href=#在服务提供方端获取隐式参数>在服务提供方端获取隐式参数</a></li><li><a 
href=#在服务提供方写入回传参数>在服务提供方写入回传参数</a></li><li><a 
href=#在消费端获取回传参数>在消费端获取回传参数</a></li></ul></li></ul></nav></div></div></div></div><foot
 [...]
\ No newline at end of file
diff --git 
a/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/index.xml 
b/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/index.xml
index 4623b041040..92e06f0a183 100644
--- 
a/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/index.xml
+++ 
b/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/index.xml
@@ -1857,6 +1857,33 @@ Dubbo 3 对 RpcContext 进行了重构,支持可选参数透传,默认开启
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Map&lt;span 
style="color:#719e07">&amp;lt;&lt;/span>String, Object&lt;span 
style="color:#719e07">&amp;gt;&lt;/span> &lt;span 
style="color:#268bd2">select&lt;/span>();
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h1 
id="历史遗留问题">历史遗留问题&lt;/h1>
+&lt;p>在之前的版本中,你可能会见到这样的使用方式:&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-java" data-lang="java">&lt;span 
style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">@Activate&lt;/span>(group &lt;span 
style="color:#719e07">=&lt;/span> {CommonConstants.CONSUMER})
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">public&lt;/span> &lt;span 
style="color:#268bd2">class&lt;/span> &lt;span 
style="color:#268bd2">DubboConsumerFilter&lt;/span> &lt;span 
style="color:#268bd2">implements&lt;/span> Filter {
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">@Override&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">public&lt;/span> Result &lt;span 
style="color:#268bd2">invoke&lt;/span>(Invoker&lt;span 
style="color:#719e07">&amp;lt;?&amp;gt;&lt;/span> invoker, Invocation 
invocation) &lt;span style="color:#268bd2">throws&lt;/span> RpcException {
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
RpcContext.getContext().setAttachment(&lt;span 
style="color:#2aa198">&amp;#34;demo&amp;#34;&lt;/span>,&lt;span 
style="color:#2aa198">&amp;#34;demo02&amp;#34;&lt;/span>);
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">return&lt;/span> invoker.invoke(invocation);
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但是在新版本中我们的建议是 
&lt;strong>在 Filter 里面的尽可能不要操作 
RpcContext&lt;/strong>,上面的使用方式会导致不生效。原因在于新版本中,我们在&lt;code>ConsumerContextFilter&lt;/code>类中做了&lt;code>ClientAttachment&lt;/code>
 -&amp;gt; 
&lt;code>Invocation&lt;/code>属性的复制,该类是Dubbo内置Filter类,而内置Filter类先于用户定义Filter类执行,所以在自定义Filter类中这样使用不会生效。
+可以直接使用这种方式进行传递:&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-java" data-lang="java">&lt;span 
style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">@Activate&lt;/span>(group &lt;span 
style="color:#719e07">=&lt;/span> {CommonConstants.CONSUMER})
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">public&lt;/span> &lt;span 
style="color:#268bd2">class&lt;/span> &lt;span 
style="color:#268bd2">DubboConsumerFilter&lt;/span> &lt;span 
style="color:#268bd2">implements&lt;/span> Filter {
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">@Override&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">public&lt;/span> Result &lt;span 
style="color:#268bd2">invoke&lt;/span>(Invoker&lt;span 
style="color:#719e07">&amp;lt;?&amp;gt;&lt;/span> invoker, Invocation 
invocation) &lt;span style="color:#268bd2">throws&lt;/span> RpcException {
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
invocation.setAttachment(&lt;span 
style="color:#2aa198">&amp;#34;demo&amp;#34;&lt;/span>,&lt;span 
style="color:#2aa198">&amp;#34;demo02&amp;#34;&lt;/span>);
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">return&lt;/span> invoker.invoke(invocation);
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
 
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Overview:
 动态指定 IP 
调用</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/specify-ip/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/specify-ip/</guid><description>
 &lt;h2 id="特性说明">特性说明&lt;/h2>
 &lt;p>使用 Dubbo 的扩展,实现指定 IP 调用。&lt;/p>
diff --git a/zh-cn/overview/tasks/develop/context/index.html 
b/zh-cn/overview/tasks/develop/context/index.html
index f9a1e8c6934..e65424e7d45 100644
--- a/zh-cn/overview/tasks/develop/context/index.html
+++ b/zh-cn/overview/tasks/develop/context/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://dubbo.apache.org/zh-cn/overview/tasks/develop/context/><meta 
charset=utf-8><meta name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
http-equiv=Content-Security-Policy content="frame-src *"><meta name=generator 
content="Hugo 0.122.0"><link rel="shortcut icon" type=image/png 
href=/imgs/favicon.png><link rel=apple-touch-icon href=/favico [...]
-<meta property="og:description" content="通过 Dubbo 中的 Attachment 
在服务消费方和提供方之间传递参数"><meta property="og:type" content="article"><meta 
property="og:url" 
content="https://dubbo.apache.org/zh-cn/overview/tasks/develop/context/";><meta 
property="article:section" content="overview"><meta 
property="article:modified_time" content="2023-03-01T09:48:32+08:00"><meta 
itemprop=name content="上下文参数传递"><meta itemprop=description content="通过 Dubbo 中的 
Attachment 在服务消费方和提供方之间传递参数"><meta itemprop=dateModified  [...]
+<meta property="og:description" content="通过 Dubbo 中的 Attachment 
在服务消费方和提供方之间传递参数"><meta property="og:type" content="article"><meta 
property="og:url" 
content="https://dubbo.apache.org/zh-cn/overview/tasks/develop/context/";><meta 
property="article:section" content="overview"><meta 
property="article:modified_time" content="2024-05-31T16:00:25+08:00"><meta 
itemprop=name content="上下文参数传递"><meta itemprop=description content="通过 Dubbo 中的 
Attachment 在服务消费方和提供方之间传递参数"><meta itemprop=dateModified  [...]
 <label for=m-zh-cnoverviewhome-check><a href=/zh-cn/overview/home/ 
title="Dubbo 文档" class="align-left pl-0 td-sidebar-link 
td-sidebar-link__section" 
id=m-zh-cnoverviewhome><span>主页</span></a></label></li><li 
class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" 
id=m-zh-cnoverviewquickstart-li><input type=checkbox 
id=m-zh-cnoverviewquickstart-check>
 <label for=m-zh-cnoverviewquickstart-check><a href=/zh-cn/overview/quickstart/ 
title="Dubbo 入门" class="align-left pl-0 td-sidebar-link 
td-sidebar-link__section" 
id=m-zh-cnoverviewquickstart><span>入门</span></a></label><ul class="ul-2 
foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section 
with-child" id=m-zh-cnoverviewquickstartjava-li><input type=checkbox 
id=m-zh-cnoverviewquickstartjava-check>
 <label for=m-zh-cnoverviewquickstartjava-check><a 
href=/zh-cn/overview/quickstart/java/ title="Java 微服务开发入门" class="align-left 
pl-0 td-sidebar-link td-sidebar-link__section" 
id=m-zh-cnoverviewquickstartjava><span>Java</span></a></label><ul class="ul-3 
foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section 
without-child" id=m-zh-cnoverviewquickstartjavabrief-li><input type=checkbox 
id=m-zh-cnoverviewquickstartjavabrief-check>
@@ -704,8 +704,32 @@
 </span></span><span style=display:flex><span>    Map<span 
style=color:#719e07>&lt;</span>String, Object<span 
style=color:#719e07>&gt;</span> clientAttachment <span 
style=color:#719e07>=</span> 
RpcContext.getServerContext().getObjectAttachments();
 </span></span><span style=display:flex><span>    System.out.println(<span 
style=color:#2aa198>&#34;ContextTask clientAttachment:&#34;</span> <span 
style=color:#719e07>+</span> JSON.toJSONString(clientAttachment));
 </span></span><span style=display:flex><span>    System.out.println(<span 
style=color:#2aa198>&#34;ContextService Return : &#34;</span> <span 
style=color:#719e07>+</span> res);
-</span></span></code></pre></div><p><em><font color=#FF7D00 
size=4>注意</font></em></p><blockquote><p>path, group, version, dubbo, token, 
timeout 几个 key 是保留字段,请使用其它值。</p></blockquote><div id=pre-footer><h2>反馈</h2><p 
class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 
feedback--yes">是</button>
-<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
+</span></span></code></pre></div><p><em><font color=#FF7D00 
size=4>注意</font></em></p><blockquote><p>path, group, version, dubbo, token, 
timeout 几个 key 是保留字段,请使用其它值。</p></blockquote><h1 
id=历史遗留问题>历史遗留问题</h1><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><span 
style=color:#268bd2>@Activate</span>(group <span style=c [...]
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>public</span> <span style=color:#268bd2>class</span> <span 
style=color:#268bd2>DubboConsumerFilter</span> <span 
style=color:#268bd2>implements</span> Filter {
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>@Override</span>
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>public</span> Result <span 
style=color:#268bd2>invoke</span>(Invoker<span 
style=color:#719e07>&lt;?&gt;</span> invoker, Invocation invocation) <span 
style=color:#268bd2>throws</span> RpcException {
+</span></span><span style=display:flex><span>        
+</span></span><span style=display:flex><span>        
RpcContext.getContext().setAttachment(<span 
style=color:#2aa198>&#34;demo&#34;</span>,<span 
style=color:#2aa198>&#34;demo02&#34;</span>);
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>        <span 
style=color:#719e07>return</span> invoker.invoke(invocation);
+</span></span><span style=display:flex><span>    }
+</span></span><span style=display:flex><span>}
+</span></span></code></pre></div><p>但是在新版本中我们的建议是 <strong>在 Filter 里面的尽可能不要操作 
RpcContext</strong>,上面的使用方式会导致不生效。原因在于新版本中,我们在<code>ConsumerContextFilter</code>类中做了<code>ClientAttachment</code>
 -> 
<code>Invocation</code>属性的复制,该类是Dubbo内置Filter类,而内置Filter类先于用户定义Filter类执行,所以在自定义Filter类中这样使用不会生效。
+可以直接使用这种方式进行传递:</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><span 
style=color:#268bd2>@Activate</span>(group <span style=color:#719e07>=</span> 
{CommonConstants.CONSUMER})
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>public</span> <span style=color:#268bd2>class</span> <span 
style=color:#268bd2>DubboConsumerFilter</span> <span 
style=color:#268bd2>implements</span> Filter {
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>@Override</span>
+</span></span><span style=display:flex><span>    <span 
style=color:#268bd2>public</span> Result <span 
style=color:#268bd2>invoke</span>(Invoker<span 
style=color:#719e07>&lt;?&gt;</span> invoker, Invocation invocation) <span 
style=color:#268bd2>throws</span> RpcException {
+</span></span><span style=display:flex><span>        
+</span></span><span style=display:flex><span>        
invocation.setAttachment(<span style=color:#2aa198>&#34;demo&#34;</span>,<span 
style=color:#2aa198>&#34;demo02&#34;</span>);
+</span></span><span style=display:flex><span>
+</span></span><span style=display:flex><span>        <span 
style=color:#719e07>return</span> invoker.invoke(invocation);
+</span></span><span style=display:flex><span>    }
+</span></span><span style=display:flex><span>}
+</span></span></code></pre></div><div id=pre-footer><h2>反馈</h2><p 
class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 
feedback--yes">是</button>
+<button class="btn btn-primary mb-4 
feedback--no">否</button></div><script>const 
yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const
 
sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled
 [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/overview/tasks/develop/context.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%2
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=%e4%b8%8a%e4%b8%8b%e6%96%87%e5%8f%82%e6%95%b0%e4%bc%a0%e9%80%92";
 target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
 <a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div><nav id=TableOfContents><ul><li><a 
href=#上下文参数传递>上下文参数传递</a></li><li><a href=#使用场景>使用场景</a></li><li><a 
href=#使用方式>使用方式</a></li></ul></nav></div></div></div></div><footer 
class="bg-dark py-5 row d-print-none footer-margin-0"><div 
class="container-fluid mx-sm-5"><div class=row><div class="col-6 col-sm-4 
text-xs-center order-sm-2"><ul class="list-inline mb-0"><li class="list-i [...]
\ No newline at end of file
diff --git a/zh-cn/overview/tasks/develop/index.xml 
b/zh-cn/overview/tasks/develop/index.xml
index ad137bfb356..31d382dc7f4 100644
--- a/zh-cn/overview/tasks/develop/index.xml
+++ b/zh-cn/overview/tasks/develop/index.xml
@@ -381,7 +381,35 @@ Provider端异步执行将阻塞的业务从Dubbo内部线程池切换到业务
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;em>&lt;font 
color='#FF7D00' size=4 > 注意 &lt;/font>&lt;/em>&lt;/p>
 &lt;blockquote>
 &lt;p>path, group, version, dubbo, token, timeout 几个 key 是保留字段,请使用其它值。&lt;/p>
-&lt;/blockquote></description></item><item><title>Overview: 
开发服务</title><link>https://dubbo.apache.org/zh-cn/overview/tasks/develop/generic/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/tasks/develop/generic/</guid><description>
+&lt;/blockquote>
+&lt;h1 id="历史遗留问题">历史遗留问题&lt;/h1>
+&lt;p>在之前的版本中,你可能会见到这样的使用方式:&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-java" data-lang="java">&lt;span 
style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">@Activate&lt;/span>(group &lt;span 
style="color:#719e07">=&lt;/span> {CommonConstants.CONSUMER})
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">public&lt;/span> &lt;span 
style="color:#268bd2">class&lt;/span> &lt;span 
style="color:#268bd2">DubboConsumerFilter&lt;/span> &lt;span 
style="color:#268bd2">implements&lt;/span> Filter {
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">@Override&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">public&lt;/span> Result &lt;span 
style="color:#268bd2">invoke&lt;/span>(Invoker&lt;span 
style="color:#719e07">&amp;lt;?&amp;gt;&lt;/span> invoker, Invocation 
invocation) &lt;span style="color:#268bd2">throws&lt;/span> RpcException {
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
RpcContext.getContext().setAttachment(&lt;span 
style="color:#2aa198">&amp;#34;demo&amp;#34;&lt;/span>,&lt;span 
style="color:#2aa198">&amp;#34;demo02&amp;#34;&lt;/span>);
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">return&lt;/span> invoker.invoke(invocation);
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>但是在新版本中我们的建议是 
&lt;strong>在 Filter 里面的尽可能不要操作 
RpcContext&lt;/strong>,上面的使用方式会导致不生效。原因在于新版本中,我们在&lt;code>ConsumerContextFilter&lt;/code>类中做了&lt;code>ClientAttachment&lt;/code>
 -&amp;gt; 
&lt;code>Invocation&lt;/code>属性的复制,该类是Dubbo内置Filter类,而内置Filter类先于用户定义Filter类执行,所以在自定义Filter类中这样使用不会生效。
+可以直接使用这种方式进行传递:&lt;/p>
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-java" data-lang="java">&lt;span 
style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">@Activate&lt;/span>(group &lt;span 
style="color:#719e07">=&lt;/span> {CommonConstants.CONSUMER})
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">public&lt;/span> &lt;span 
style="color:#268bd2">class&lt;/span> &lt;span 
style="color:#268bd2">DubboConsumerFilter&lt;/span> &lt;span 
style="color:#268bd2">implements&lt;/span> Filter {
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">@Override&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">public&lt;/span> Result &lt;span 
style="color:#268bd2">invoke&lt;/span>(Invoker&lt;span 
style="color:#719e07">&amp;lt;?&amp;gt;&lt;/span> invoker, Invocation 
invocation) &lt;span style="color:#268bd2">throws&lt;/span> RpcException {
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
invocation.setAttachment(&lt;span 
style="color:#2aa198">&amp;#34;demo&amp;#34;&lt;/span>,&lt;span 
style="color:#2aa198">&amp;#34;demo02&amp;#34;&lt;/span>);
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">return&lt;/span> invoker.invoke(invocation);
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Overview:
 
开发服务</title><link>https://dubbo.apache.org/zh-cn/overview/tasks/develop/generic/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/tasks/develop/generic/</guid><description>
 &lt;h2 id="泛化调用">泛化调用&lt;/h2>
 &lt;p>泛化调用(客户端泛化调用)是指在调用方没有服务方提供的 API(SDK)的情况下,对服务方进行调用,并且可以正常拿到调用结果。&lt;/p>
 &lt;h2 id="使用场景">使用场景&lt;/h2>
diff --git a/zh-cn/sitemap.xml b/zh-cn/sitemap.xml
index 2ed05663494..d9fd6c32752 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://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://dubbo.apache.org/zh-cn/overview/mannual/jav
 [...]
\ 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://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://dubbo.apache.org/zh-cn/overview/mannual/jav
 [...]
\ No newline at end of file

Reply via email to