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 24b09d6ee37 deploy: 1ca03ab5db9d48824802789eb74d943039f6932f
24b09d6ee37 is described below

commit 24b09d6ee37f51b6e9b0fcfc2ce4358c2dc27bcb
Author: AlbumenJ <[email protected]>
AuthorDate: Fri May 31 08:05:05 2024 +0000

    deploy: 1ca03ab5db9d48824802789eb74d943039f6932f
---
 css/app.css                                        |  2 +-
 css/chunk-vendors.css                              |  2 +-
 js/app.js                                          |  3 +-
 js/chunk-vendors.js                                | 37 +---------------------
 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 +-
 10 files changed, 115 insertions(+), 48 deletions(-)

diff --git a/css/app.css b/css/app.css
index 44c2a2c2469..b9457c8de14 100644
--- a/css/app.css
+++ b/css/app.css
@@ -1 +1 @@
-h3[data-v-76eccb7f]{margin:40px 0 
0}ul[data-v-76eccb7f]{list-style-type:none;padding:0}li[data-v-76eccb7f]{display:inline-block;margin:0
 
10px}a[data-v-76eccb7f]{color:#42b983}.form-layout[data-v-76eccb7f]{display:flex;justify-content:space-between;align-items:flex-start}.left-form[data-v-76eccb7f]{flex:1;max-width:calc(50%
 - 
20px);margin-right:20px}.right-text[data-v-76eccb7f]{flex-shrink:0;width:calc(50%
 - 20px)}.left-form 
.el-form-item__label[data-v-76eccb7f]{text-align:left}.left-form [...]
\ No newline at end of file
+/*Respond to static link checks, which will be dynamically replaced at build 
time*/
\ No newline at end of file
diff --git a/css/chunk-vendors.css b/css/chunk-vendors.css
index 61c66238ea8..b9457c8de14 100644
--- a/css/chunk-vendors.css
+++ b/css/chunk-vendors.css
@@ -1 +1 @@
-@font-face{font-family:element-icons;src:url(../fonts/element-icons.ff18efd1.woff)
 format("woff"),url(../fonts/element-icons.f1a45d74.ttf) 
format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*="
 
el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:gr
 [...]
\ No newline at end of file
+/*Respond to static link checks, which will be dynamically replaced at build 
time*/
\ No newline at end of file
diff --git a/js/app.js b/js/app.js
index 4c5595c9fd2..069248774b1 100644
--- a/js/app.js
+++ b/js/app.js
@@ -1,2 +1 @@
-(function(){"use strict";var t={9763:function(t,e,s){var 
r=s(2856),l=function(){var t=this,e=t._self._c;return 
e("div",{attrs:{id:"app"}},[e("el-row",[e("el-col",{attrs:{span:24}},[e("div",{staticStyle:{"font-size":"30px"}},[t._v("Dubbo
 
基准测试")])])],1),e("el-row",[e("el-col",{attrs:{span:24}},[e("div",{staticStyle:{"font-size":"15px","text-align":"right"}},[e("a",{attrs:{target:"_blank",href:"https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-
 [...]
-//# sourceMappingURL=app.6f937064.js.map
\ No newline at end of file
+// Respond to static link checks, which will be dynamically replaced at build 
time
\ No newline at end of file
diff --git a/js/chunk-vendors.js b/js/chunk-vendors.js
index ff65a729b3b..069248774b1 100644
--- a/js/chunk-vendors.js
+++ b/js/chunk-vendors.js
@@ -1,36 +1 @@
-(self["webpackChunkdubbo_benchmark"]=self["webpackChunkdubbo_benchmark"]||[]).push([[504],{1656:function(e,t,n){"use
 strict";function i(e,t,n,i,r,o,a,s){var l,u="function"===typeof 
e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),i&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(l=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof
 __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&& [...]
-/**
- * @license
- * Lodash <https://lodash.com/>
- * Copyright JS Foundation and other contributors <https://js.foundation/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & 
Editors
- */(function(){var o,a="4.17.10",s=200,l="Unsupported core-js use. Try 
https://npms.io/search?q=ponyfill.",u="Expected a 
function",c="__lodash_hash_undefined__",h=500,d="__lodash_placeholder__",p=1,f=2,g=4,v=1,m=2,y=1,b=2,_=4,x=8,w=16,S=32,C=64,k=128,M=256,T=512,D=30,I="...",O=800,A=16,E=1,P=2,L=3,N=1/0,R=9007199254740991,$=17976931348623157e292,z=NaN,V=4294967295,F=V-1,B=V>>>1,j=[["ary",k],["bind",y],["bindKey",b],["curry",x],["curryRight",w],["flip",T],["partial",S],["partialRight",C],
 [...]
-/*!
- * jQuery JavaScript Library v3.7.1
- * https://jquery.com/
- *
- * Copyright OpenJS Foundation and other contributors
- * Released under the MIT license
- * https://jquery.org/license
- *
- * Date: 2023-08-28T13:37Z
- */
-function(t,n){"use strict";"object"===typeof 
e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new 
Error("jQuery requires a window with a document");return 
n(e)}:n(t)}("undefined"!==typeof window?window:this,(function(n,o){"use 
strict";var a=[],s=Object.getPrototypeOf,l=a.slice,u=a.flat?function(e){return 
a.flat.call(e)}:function(e){return 
a.concat.apply([],e)},c=a.push,h=a.indexOf,d={},p=d.toString,f=d.hasOwnProperty,g=f.toString,v=g.call(Object),m={},y=function(e)
 [...]
-/**
- * Checks if an event is supported in the current execution environment.
- *
- * NOTE: This will not work correctly for non-generic events such as `change`,
- * `reset`, `load`, `error`, and `select`.
- *
- * Borrows from Modernizr.
- *
- * @param {string} eventNameSuffix Event name, e.g. "click".
- * @param {?boolean} capture Check if the capture phase is supported.
- * @return {boolean} True if the event is supported.
- * @internal
- * @license Modernizr 3.0.0pre (Custom Build) | MIT
- */
-function o(e,t){if(!r.canUseDOM||t&&!("addEventListener"in 
document))return!1;var n="on"+e,o=n in document;if(!o){var 
a=document.createElement("div");a.setAttribute(n,"return;"),o="function"===typeof
 
a[n]}return!o&&i&&"wheel"===e&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}r.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=o},9030:function(e,t,n){"use
 strict";var i=n(8656),r=n(2021),o= [...]
-//# sourceMappingURL=chunk-vendors.65974a5f.js.map
\ No newline at end of file
+// Respond to static link checks, which will be dynamically replaced at build 
time
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index f515cab21cb..b4da0f383de 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-05-30T16:01:34+08:00</lastmod></sitemap><sitemap><loc>https://cn.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://cn.dubbo.apache.org/zh-cn/sitemap.xml</loc><lastmod>2024-05-31T16:00:25+08:00</lastmod></sitemap><sitemap><loc>https://cn.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 de79504e2bc..ff194fa6fa8 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://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/attachment/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=v [...]
-<meta property="og:description" content="通过 Dubbo 中的 Attachment 
在服务消费方和提供方之间隐式传递参数"><meta property="og:type" content="article"><meta 
property="og:url" 
content="https://cn.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 
中的 Attachm [...]
+<meta property="og:description" content="通过 Dubbo 中的 Attachment 
在服务消费方和提供方之间隐式传递参数"><meta property="og:type" content="article"><meta 
property="og:url" 
content="https://cn.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 
中的 Attachm [...]
 <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 26b3f596386..2bd2745851b 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://cn.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://cn.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 15758f42056..185f20bfb1b 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://cn.dubbo.apache.org/zh-cn/overview/tasks/develop/context/><script>var
 _hmt=_hmt||[];(function(){var 
e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta
 charset=utf-8><meta name=viewport content="width=device-width,initia [...]
-<meta property="og:description" content="通过 Dubbo 中的 Attachment 
在服务消费方和提供方之间传递参数"><meta property="og:type" content="article"><meta 
property="og:url" 
content="https://cn.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=dateModifi [...]
+<meta property="og:description" content="通过 Dubbo 中的 Attachment 
在服务消费方和提供方之间传递参数"><meta property="og:type" content="article"><meta 
property="og:url" 
content="https://cn.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=dateModifi [...]
 <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 5ac05217bc0..1dcebdb8552 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://cn.dubbo.apache.org/zh-cn/overview/tasks/develop/generic/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://cn.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://cn.dubbo.apache.org/zh-cn/overview/tasks/develop/generic/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://cn.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 b31f8134ab4..3cde95fae22 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


Reply via email to